|  | @@ -1,1721 +1,1721 @@
 | 
	
		
			
				|  |  | -// Generated by ProtoGen, Version=0.9.0.0, Culture=neutral, PublicKeyToken=8fd7408b07f8d2cd.  DO NOT EDIT!
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -using pb = global::Google.ProtocolBuffers;
 | 
	
		
			
				|  |  | -using pbc = global::Google.ProtocolBuffers.Collections;
 | 
	
		
			
				|  |  | -using pbd = global::Google.ProtocolBuffers.Descriptors;
 | 
	
		
			
				|  |  | -using scg = global::System.Collections.Generic;
 | 
	
		
			
				|  |  | -namespace Google.ProtocolBuffers.TestProtos {
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  public static partial class UnitTestExtrasLiteProtoFile {
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -    #region Extension registration
 | 
	
		
			
				|  |  | -    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
 | 
	
		
			
				|  |  | -      registry.Add(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.EmployeeIdLite);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    #region Extensions
 | 
	
		
			
				|  |  | -    public const int EmployeeIdLiteFieldNumber = 126;
 | 
	
		
			
				|  |  | -    public static pb::GeneratedExtensionLite<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite, global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite> EmployeeIdLite;
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    #region Static variables
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    #region Extensions
 | 
	
		
			
				|  |  | -    internal static readonly object Descriptor;
 | 
	
		
			
				|  |  | -    static UnitTestExtrasLiteProtoFile() {
 | 
	
		
			
				|  |  | -      Descriptor = null;
 | 
	
		
			
				|  |  | -      global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.EmployeeIdLite = 
 | 
	
		
			
				|  |  | -        new pb::GeneratedExtensionLite<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite, global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite>(
 | 
	
		
			
				|  |  | -          "protobuf_unittest_extra.employee_id_lite",
 | 
	
		
			
				|  |  | -          global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.DefaultInstance,
 | 
	
		
			
				|  |  | -          null,
 | 
	
		
			
				|  |  | -          global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite.DefaultInstance,
 | 
	
		
			
				|  |  | -          null,
 | 
	
		
			
				|  |  | -          global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.EmployeeIdLiteFieldNumber,
 | 
	
		
			
				|  |  | -          pbd::FieldType.Message);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  #region Enums
 | 
	
		
			
				|  |  | -  public enum ExtraEnum {
 | 
	
		
			
				|  |  | -    DEFAULT = 10,
 | 
	
		
			
				|  |  | -    EXLITE_FOO = 7,
 | 
	
		
			
				|  |  | -    EXLITE_BAR = 8,
 | 
	
		
			
				|  |  | -    EXLITE_BAZ = 9,
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  #endregion
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  #region Messages
 | 
	
		
			
				|  |  | -  public sealed partial class TestRequiredLite : pb::GeneratedMessageLite<TestRequiredLite, TestRequiredLite.Builder> {
 | 
	
		
			
				|  |  | -    private static readonly TestRequiredLite defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | -    public static TestRequiredLite DefaultInstance {
 | 
	
		
			
				|  |  | -      get { return defaultInstance; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override TestRequiredLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | -      get { return defaultInstance; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    protected override TestRequiredLite ThisMessage {
 | 
	
		
			
				|  |  | -      get { return this; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int DFieldNumber = 1;
 | 
	
		
			
				|  |  | -    private bool hasD;
 | 
	
		
			
				|  |  | -    private int d_ = 0;
 | 
	
		
			
				|  |  | -    public bool HasD {
 | 
	
		
			
				|  |  | -      get { return hasD; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public int D {
 | 
	
		
			
				|  |  | -      get { return d_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int EnFieldNumber = 2;
 | 
	
		
			
				|  |  | -    private bool hasEn;
 | 
	
		
			
				|  |  | -    private global::Google.ProtocolBuffers.TestProtos.ExtraEnum en_ = global::Google.ProtocolBuffers.TestProtos.ExtraEnum.DEFAULT;
 | 
	
		
			
				|  |  | -    public bool HasEn {
 | 
	
		
			
				|  |  | -      get { return hasEn; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public global::Google.ProtocolBuffers.TestProtos.ExtraEnum En {
 | 
	
		
			
				|  |  | -      get { return en_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override bool IsInitialized {
 | 
	
		
			
				|  |  | -      get {
 | 
	
		
			
				|  |  | -        if (!hasD) return false;
 | 
	
		
			
				|  |  | -        if (!hasEn) return false;
 | 
	
		
			
				|  |  | -        return true;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | -      int size = SerializedSize;
 | 
	
		
			
				|  |  | -      if (HasD) {
 | 
	
		
			
				|  |  | -        output.WriteInt32(1, D);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      if (HasEn) {
 | 
	
		
			
				|  |  | -        output.WriteEnum(2, (int) En);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | -    public override int SerializedSize {
 | 
	
		
			
				|  |  | -      get {
 | 
	
		
			
				|  |  | -        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | -        if (size != -1) return size;
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        size = 0;
 | 
	
		
			
				|  |  | -        if (HasD) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeInt32Size(1, D);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (HasEn) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeEnumSize(2, (int) En);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | -        return size;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    #region Lite runtime methods
 | 
	
		
			
				|  |  | -    public override int GetHashCode() {
 | 
	
		
			
				|  |  | -      int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | -      if (hasD) hash ^= d_.GetHashCode();
 | 
	
		
			
				|  |  | -      if (hasEn) hash ^= en_.GetHashCode();
 | 
	
		
			
				|  |  | -      return hash;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | -      TestRequiredLite other = obj as TestRequiredLite;
 | 
	
		
			
				|  |  | -      if (other == null) return false;
 | 
	
		
			
				|  |  | -      if (hasD != other.hasD || (hasD && !d_.Equals(other.d_))) return false;
 | 
	
		
			
				|  |  | -      if (hasEn != other.hasEn || (hasEn && !en_.Equals(other.en_))) return false;
 | 
	
		
			
				|  |  | -      return true;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | -      PrintField("d", hasD, d_, writer);
 | 
	
		
			
				|  |  | -      PrintField("en", hasEn, en_, writer);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestRequiredLite ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    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(TestRequiredLite prototype) {
 | 
	
		
			
				|  |  | -      return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public sealed partial class Builder : pb::GeneratedBuilderLite<TestRequiredLite, Builder> {
 | 
	
		
			
				|  |  | -      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | -        get { return this; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder() {}
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      TestRequiredLite result = new TestRequiredLite();
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      protected override TestRequiredLite MessageBeingBuilt {
 | 
	
		
			
				|  |  | -        get { return result; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder Clear() {
 | 
	
		
			
				|  |  | -        result = new TestRequiredLite();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder Clone() {
 | 
	
		
			
				|  |  | -        return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override TestRequiredLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | -        get { return global::Google.ProtocolBuffers.TestProtos.TestRequiredLite.DefaultInstance; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override TestRequiredLite BuildPartial() {
 | 
	
		
			
				|  |  | -        if (result == null) {
 | 
	
		
			
				|  |  | -          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        TestRequiredLite returnMe = result;
 | 
	
		
			
				|  |  | -        result = null;
 | 
	
		
			
				|  |  | -        return returnMe;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | -        if (other is TestRequiredLite) {
 | 
	
		
			
				|  |  | -          return MergeFrom((TestRequiredLite) other);
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -          base.MergeFrom(other);
 | 
	
		
			
				|  |  | -          return this;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(TestRequiredLite other) {
 | 
	
		
			
				|  |  | -        if (other == global::Google.ProtocolBuffers.TestProtos.TestRequiredLite.DefaultInstance) return this;
 | 
	
		
			
				|  |  | -        if (other.HasD) {
 | 
	
		
			
				|  |  | -          D = other.D;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (other.HasEn) {
 | 
	
		
			
				|  |  | -          En = other.En;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -        while (true) {
 | 
	
		
			
				|  |  | -          uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | -          switch (tag) {
 | 
	
		
			
				|  |  | -            case 0: {
 | 
	
		
			
				|  |  | -              return this;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            default: {
 | 
	
		
			
				|  |  | -              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | -                return this;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 8: {
 | 
	
		
			
				|  |  | -              D = input.ReadInt32();
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 16: {
 | 
	
		
			
				|  |  | -              int rawValue = input.ReadEnum();
 | 
	
		
			
				|  |  | -              if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.TestProtos.ExtraEnum), rawValue)) {
 | 
	
		
			
				|  |  | -              } else {
 | 
	
		
			
				|  |  | -                En = (global::Google.ProtocolBuffers.TestProtos.ExtraEnum) rawValue;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public bool HasD {
 | 
	
		
			
				|  |  | -        get { return result.HasD; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public int D {
 | 
	
		
			
				|  |  | -        get { return result.D; }
 | 
	
		
			
				|  |  | -        set { SetD(value); }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetD(int value) {
 | 
	
		
			
				|  |  | -        result.hasD = true;
 | 
	
		
			
				|  |  | -        result.d_ = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearD() {
 | 
	
		
			
				|  |  | -        result.hasD = false;
 | 
	
		
			
				|  |  | -        result.d_ = 0;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public bool HasEn {
 | 
	
		
			
				|  |  | -       get { return result.HasEn; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public global::Google.ProtocolBuffers.TestProtos.ExtraEnum En {
 | 
	
		
			
				|  |  | -        get { return result.En; }
 | 
	
		
			
				|  |  | -        set { SetEn(value); }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetEn(global::Google.ProtocolBuffers.TestProtos.ExtraEnum value) {
 | 
	
		
			
				|  |  | -        result.hasEn = true;
 | 
	
		
			
				|  |  | -        result.en_ = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearEn() {
 | 
	
		
			
				|  |  | -        result.hasEn = false;
 | 
	
		
			
				|  |  | -        result.en_ = global::Google.ProtocolBuffers.TestProtos.ExtraEnum.DEFAULT;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    static TestRequiredLite() {
 | 
	
		
			
				|  |  | -      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  public sealed partial class TestInteropPersonLite : pb::ExtendableMessageLite<TestInteropPersonLite, TestInteropPersonLite.Builder> {
 | 
	
		
			
				|  |  | -    private static readonly TestInteropPersonLite defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite DefaultInstance {
 | 
	
		
			
				|  |  | -      get { return defaultInstance; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override TestInteropPersonLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | -      get { return defaultInstance; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    protected override TestInteropPersonLite ThisMessage {
 | 
	
		
			
				|  |  | -      get { return this; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    #region Nested types
 | 
	
		
			
				|  |  | -    public static class Types {
 | 
	
		
			
				|  |  | -      public enum PhoneType {
 | 
	
		
			
				|  |  | -        MOBILE = 0,
 | 
	
		
			
				|  |  | -        HOME = 1,
 | 
	
		
			
				|  |  | -        WORK = 2,
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public sealed partial class PhoneNumber : pb::GeneratedMessageLite<PhoneNumber, PhoneNumber.Builder> {
 | 
	
		
			
				|  |  | -        private static readonly PhoneNumber defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | -        public static PhoneNumber DefaultInstance {
 | 
	
		
			
				|  |  | -          get { return defaultInstance; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override PhoneNumber DefaultInstanceForType {
 | 
	
		
			
				|  |  | -          get { return defaultInstance; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        protected override PhoneNumber ThisMessage {
 | 
	
		
			
				|  |  | -          get { return this; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public const int NumberFieldNumber = 1;
 | 
	
		
			
				|  |  | -        private bool hasNumber;
 | 
	
		
			
				|  |  | -        private string number_ = "";
 | 
	
		
			
				|  |  | -        public bool HasNumber {
 | 
	
		
			
				|  |  | -          get { return hasNumber; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public string Number {
 | 
	
		
			
				|  |  | -          get { return number_; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public const int TypeFieldNumber = 2;
 | 
	
		
			
				|  |  | -        private bool hasType;
 | 
	
		
			
				|  |  | -        private global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType type_ = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType.HOME;
 | 
	
		
			
				|  |  | -        public bool HasType {
 | 
	
		
			
				|  |  | -          get { return hasType; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType Type {
 | 
	
		
			
				|  |  | -          get { return type_; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override bool IsInitialized {
 | 
	
		
			
				|  |  | -          get {
 | 
	
		
			
				|  |  | -            if (!hasNumber) return false;
 | 
	
		
			
				|  |  | -            return true;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | -          int size = SerializedSize;
 | 
	
		
			
				|  |  | -          if (HasNumber) {
 | 
	
		
			
				|  |  | -            output.WriteString(1, Number);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          if (HasType) {
 | 
	
		
			
				|  |  | -            output.WriteEnum(2, (int) Type);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | -        public override int SerializedSize {
 | 
	
		
			
				|  |  | -          get {
 | 
	
		
			
				|  |  | -            int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | -            if (size != -1) return size;
 | 
	
		
			
				|  |  | -            
 | 
	
		
			
				|  |  | -            size = 0;
 | 
	
		
			
				|  |  | -            if (HasNumber) {
 | 
	
		
			
				|  |  | -              size += pb::CodedOutputStream.ComputeStringSize(1, Number);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (HasType) {
 | 
	
		
			
				|  |  | -              size += pb::CodedOutputStream.ComputeEnumSize(2, (int) Type);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | -            return size;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        #region Lite runtime methods
 | 
	
		
			
				|  |  | -        public override int GetHashCode() {
 | 
	
		
			
				|  |  | -          int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | -          if (hasNumber) hash ^= number_.GetHashCode();
 | 
	
		
			
				|  |  | -          if (hasType) hash ^= type_.GetHashCode();
 | 
	
		
			
				|  |  | -          return hash;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | -          PhoneNumber other = obj as PhoneNumber;
 | 
	
		
			
				|  |  | -          if (other == null) return false;
 | 
	
		
			
				|  |  | -          if (hasNumber != other.hasNumber || (hasNumber && !number_.Equals(other.number_))) return false;
 | 
	
		
			
				|  |  | -          if (hasType != other.hasType || (hasType && !type_.Equals(other.type_))) return false;
 | 
	
		
			
				|  |  | -          return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | -          PrintField("number", hasNumber, number_, writer);
 | 
	
		
			
				|  |  | -          PrintField("type", hasType, type_, writer);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        #endregion
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -          return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static PhoneNumber ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        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(PhoneNumber prototype) {
 | 
	
		
			
				|  |  | -          return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public sealed partial class Builder : pb::GeneratedBuilderLite<PhoneNumber, Builder> {
 | 
	
		
			
				|  |  | -          protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | -            get { return this; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder() {}
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          PhoneNumber result = new PhoneNumber();
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          protected override PhoneNumber MessageBeingBuilt {
 | 
	
		
			
				|  |  | -            get { return result; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder Clear() {
 | 
	
		
			
				|  |  | -            result = new PhoneNumber();
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder Clone() {
 | 
	
		
			
				|  |  | -            return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override PhoneNumber DefaultInstanceForType {
 | 
	
		
			
				|  |  | -            get { return global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.DefaultInstance; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override PhoneNumber BuildPartial() {
 | 
	
		
			
				|  |  | -            if (result == null) {
 | 
	
		
			
				|  |  | -              throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            PhoneNumber returnMe = result;
 | 
	
		
			
				|  |  | -            result = null;
 | 
	
		
			
				|  |  | -            return returnMe;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | -            if (other is PhoneNumber) {
 | 
	
		
			
				|  |  | -              return MergeFrom((PhoneNumber) other);
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -              base.MergeFrom(other);
 | 
	
		
			
				|  |  | -              return this;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(PhoneNumber other) {
 | 
	
		
			
				|  |  | -            if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.DefaultInstance) return this;
 | 
	
		
			
				|  |  | -            if (other.HasNumber) {
 | 
	
		
			
				|  |  | -              Number = other.Number;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (other.HasType) {
 | 
	
		
			
				|  |  | -              Type = other.Type;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -            return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -            while (true) {
 | 
	
		
			
				|  |  | -              uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | -              switch (tag) {
 | 
	
		
			
				|  |  | -                case 0: {
 | 
	
		
			
				|  |  | -                  return this;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                default: {
 | 
	
		
			
				|  |  | -                  if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | -                    return this;
 | 
	
		
			
				|  |  | -                  }
 | 
	
		
			
				|  |  | -                  ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                case 10: {
 | 
	
		
			
				|  |  | -                  Number = input.ReadString();
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                case 16: {
 | 
	
		
			
				|  |  | -                  int rawValue = input.ReadEnum();
 | 
	
		
			
				|  |  | -                  if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType), rawValue)) {
 | 
	
		
			
				|  |  | -                  } else {
 | 
	
		
			
				|  |  | -                    Type = (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType) rawValue;
 | 
	
		
			
				|  |  | -                  }
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public bool HasNumber {
 | 
	
		
			
				|  |  | -            get { return result.HasNumber; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public string Number {
 | 
	
		
			
				|  |  | -            get { return result.Number; }
 | 
	
		
			
				|  |  | -            set { SetNumber(value); }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder SetNumber(string value) {
 | 
	
		
			
				|  |  | -            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -            result.hasNumber = true;
 | 
	
		
			
				|  |  | -            result.number_ = value;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder ClearNumber() {
 | 
	
		
			
				|  |  | -            result.hasNumber = false;
 | 
	
		
			
				|  |  | -            result.number_ = "";
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public bool HasType {
 | 
	
		
			
				|  |  | -           get { return result.HasType; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType Type {
 | 
	
		
			
				|  |  | -            get { return result.Type; }
 | 
	
		
			
				|  |  | -            set { SetType(value); }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder SetType(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType value) {
 | 
	
		
			
				|  |  | -            result.hasType = true;
 | 
	
		
			
				|  |  | -            result.type_ = value;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder ClearType() {
 | 
	
		
			
				|  |  | -            result.hasType = false;
 | 
	
		
			
				|  |  | -            result.type_ = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType.HOME;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        static PhoneNumber() {
 | 
	
		
			
				|  |  | -          object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public sealed partial class Addresses : pb::GeneratedMessageLite<Addresses, Addresses.Builder> {
 | 
	
		
			
				|  |  | -        private static readonly Addresses defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | -        public static Addresses DefaultInstance {
 | 
	
		
			
				|  |  | -          get { return defaultInstance; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override Addresses DefaultInstanceForType {
 | 
	
		
			
				|  |  | -          get { return defaultInstance; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        protected override Addresses ThisMessage {
 | 
	
		
			
				|  |  | -          get { return this; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public const int AddressFieldNumber = 1;
 | 
	
		
			
				|  |  | -        private bool hasAddress;
 | 
	
		
			
				|  |  | -        private string address_ = "";
 | 
	
		
			
				|  |  | -        public bool HasAddress {
 | 
	
		
			
				|  |  | -          get { return hasAddress; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public string Address {
 | 
	
		
			
				|  |  | -          get { return address_; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public const int Address2FieldNumber = 2;
 | 
	
		
			
				|  |  | -        private bool hasAddress2;
 | 
	
		
			
				|  |  | -        private string address2_ = "";
 | 
	
		
			
				|  |  | -        public bool HasAddress2 {
 | 
	
		
			
				|  |  | -          get { return hasAddress2; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public string Address2 {
 | 
	
		
			
				|  |  | -          get { return address2_; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public const int CityFieldNumber = 3;
 | 
	
		
			
				|  |  | -        private bool hasCity;
 | 
	
		
			
				|  |  | -        private string city_ = "";
 | 
	
		
			
				|  |  | -        public bool HasCity {
 | 
	
		
			
				|  |  | -          get { return hasCity; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public string City {
 | 
	
		
			
				|  |  | -          get { return city_; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public const int StateFieldNumber = 4;
 | 
	
		
			
				|  |  | -        private bool hasState;
 | 
	
		
			
				|  |  | -        private string state_ = "";
 | 
	
		
			
				|  |  | -        public bool HasState {
 | 
	
		
			
				|  |  | -          get { return hasState; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public string State {
 | 
	
		
			
				|  |  | -          get { return state_; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public const int ZipFieldNumber = 5;
 | 
	
		
			
				|  |  | -        private bool hasZip;
 | 
	
		
			
				|  |  | -        private uint zip_ = 0;
 | 
	
		
			
				|  |  | -        public bool HasZip {
 | 
	
		
			
				|  |  | -          get { return hasZip; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        [global::System.CLSCompliant(false)]
 | 
	
		
			
				|  |  | -        public uint Zip {
 | 
	
		
			
				|  |  | -          get { return zip_; }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override bool IsInitialized {
 | 
	
		
			
				|  |  | -          get {
 | 
	
		
			
				|  |  | -            if (!hasAddress) return false;
 | 
	
		
			
				|  |  | -            if (!hasCity) return false;
 | 
	
		
			
				|  |  | -            if (!hasState) return false;
 | 
	
		
			
				|  |  | -            if (!hasZip) return false;
 | 
	
		
			
				|  |  | -            return true;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | -          int size = SerializedSize;
 | 
	
		
			
				|  |  | -          if (HasAddress) {
 | 
	
		
			
				|  |  | -            output.WriteString(1, Address);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          if (HasAddress2) {
 | 
	
		
			
				|  |  | -            output.WriteString(2, Address2);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          if (HasCity) {
 | 
	
		
			
				|  |  | -            output.WriteString(3, City);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          if (HasState) {
 | 
	
		
			
				|  |  | -            output.WriteString(4, State);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          if (HasZip) {
 | 
	
		
			
				|  |  | -            output.WriteFixed32(5, Zip);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | -        public override int SerializedSize {
 | 
	
		
			
				|  |  | -          get {
 | 
	
		
			
				|  |  | -            int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | -            if (size != -1) return size;
 | 
	
		
			
				|  |  | -            
 | 
	
		
			
				|  |  | -            size = 0;
 | 
	
		
			
				|  |  | -            if (HasAddress) {
 | 
	
		
			
				|  |  | -              size += pb::CodedOutputStream.ComputeStringSize(1, Address);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (HasAddress2) {
 | 
	
		
			
				|  |  | -              size += pb::CodedOutputStream.ComputeStringSize(2, Address2);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (HasCity) {
 | 
	
		
			
				|  |  | -              size += pb::CodedOutputStream.ComputeStringSize(3, City);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (HasState) {
 | 
	
		
			
				|  |  | -              size += pb::CodedOutputStream.ComputeStringSize(4, State);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (HasZip) {
 | 
	
		
			
				|  |  | -              size += pb::CodedOutputStream.ComputeFixed32Size(5, Zip);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | -            return size;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        #region Lite runtime methods
 | 
	
		
			
				|  |  | -        public override int GetHashCode() {
 | 
	
		
			
				|  |  | -          int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | -          if (hasAddress) hash ^= address_.GetHashCode();
 | 
	
		
			
				|  |  | -          if (hasAddress2) hash ^= address2_.GetHashCode();
 | 
	
		
			
				|  |  | -          if (hasCity) hash ^= city_.GetHashCode();
 | 
	
		
			
				|  |  | -          if (hasState) hash ^= state_.GetHashCode();
 | 
	
		
			
				|  |  | -          if (hasZip) hash ^= zip_.GetHashCode();
 | 
	
		
			
				|  |  | -          return hash;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | -          Addresses other = obj as Addresses;
 | 
	
		
			
				|  |  | -          if (other == null) return false;
 | 
	
		
			
				|  |  | -          if (hasAddress != other.hasAddress || (hasAddress && !address_.Equals(other.address_))) return false;
 | 
	
		
			
				|  |  | -          if (hasAddress2 != other.hasAddress2 || (hasAddress2 && !address2_.Equals(other.address2_))) return false;
 | 
	
		
			
				|  |  | -          if (hasCity != other.hasCity || (hasCity && !city_.Equals(other.city_))) return false;
 | 
	
		
			
				|  |  | -          if (hasState != other.hasState || (hasState && !state_.Equals(other.state_))) return false;
 | 
	
		
			
				|  |  | -          if (hasZip != other.hasZip || (hasZip && !zip_.Equals(other.zip_))) return false;
 | 
	
		
			
				|  |  | -          return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | -          PrintField("address", hasAddress, address_, writer);
 | 
	
		
			
				|  |  | -          PrintField("address2", hasAddress2, address2_, writer);
 | 
	
		
			
				|  |  | -          PrintField("city", hasCity, city_, writer);
 | 
	
		
			
				|  |  | -          PrintField("state", hasState, state_, writer);
 | 
	
		
			
				|  |  | -          PrintField("zip", hasZip, zip_, writer);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        #endregion
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -          return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        public static Addresses ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        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(Addresses prototype) {
 | 
	
		
			
				|  |  | -          return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        public sealed partial class Builder : pb::GeneratedBuilderLite<Addresses, Builder> {
 | 
	
		
			
				|  |  | -          protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | -            get { return this; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder() {}
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          Addresses result = new Addresses();
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          protected override Addresses MessageBeingBuilt {
 | 
	
		
			
				|  |  | -            get { return result; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder Clear() {
 | 
	
		
			
				|  |  | -            result = new Addresses();
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder Clone() {
 | 
	
		
			
				|  |  | -            return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Addresses DefaultInstanceForType {
 | 
	
		
			
				|  |  | -            get { return global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.DefaultInstance; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Addresses BuildPartial() {
 | 
	
		
			
				|  |  | -            if (result == null) {
 | 
	
		
			
				|  |  | -              throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            Addresses returnMe = result;
 | 
	
		
			
				|  |  | -            result = null;
 | 
	
		
			
				|  |  | -            return returnMe;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | -            if (other is Addresses) {
 | 
	
		
			
				|  |  | -              return MergeFrom((Addresses) other);
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -              base.MergeFrom(other);
 | 
	
		
			
				|  |  | -              return this;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(Addresses other) {
 | 
	
		
			
				|  |  | -            if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.DefaultInstance) return this;
 | 
	
		
			
				|  |  | -            if (other.HasAddress) {
 | 
	
		
			
				|  |  | -              Address = other.Address;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (other.HasAddress2) {
 | 
	
		
			
				|  |  | -              Address2 = other.Address2;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (other.HasCity) {
 | 
	
		
			
				|  |  | -              City = other.City;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (other.HasState) {
 | 
	
		
			
				|  |  | -              State = other.State;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (other.HasZip) {
 | 
	
		
			
				|  |  | -              Zip = other.Zip;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -            return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -            while (true) {
 | 
	
		
			
				|  |  | -              uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | -              switch (tag) {
 | 
	
		
			
				|  |  | -                case 0: {
 | 
	
		
			
				|  |  | -                  return this;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                default: {
 | 
	
		
			
				|  |  | -                  if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | -                    return this;
 | 
	
		
			
				|  |  | -                  }
 | 
	
		
			
				|  |  | -                  ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                case 10: {
 | 
	
		
			
				|  |  | -                  Address = input.ReadString();
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                case 18: {
 | 
	
		
			
				|  |  | -                  Address2 = input.ReadString();
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                case 26: {
 | 
	
		
			
				|  |  | -                  City = input.ReadString();
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                case 34: {
 | 
	
		
			
				|  |  | -                  State = input.ReadString();
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                case 45: {
 | 
	
		
			
				|  |  | -                  Zip = input.ReadFixed32();
 | 
	
		
			
				|  |  | -                  break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public bool HasAddress {
 | 
	
		
			
				|  |  | -            get { return result.HasAddress; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public string Address {
 | 
	
		
			
				|  |  | -            get { return result.Address; }
 | 
	
		
			
				|  |  | -            set { SetAddress(value); }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder SetAddress(string value) {
 | 
	
		
			
				|  |  | -            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -            result.hasAddress = true;
 | 
	
		
			
				|  |  | -            result.address_ = value;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder ClearAddress() {
 | 
	
		
			
				|  |  | -            result.hasAddress = false;
 | 
	
		
			
				|  |  | -            result.address_ = "";
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public bool HasAddress2 {
 | 
	
		
			
				|  |  | -            get { return result.HasAddress2; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public string Address2 {
 | 
	
		
			
				|  |  | -            get { return result.Address2; }
 | 
	
		
			
				|  |  | -            set { SetAddress2(value); }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder SetAddress2(string value) {
 | 
	
		
			
				|  |  | -            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -            result.hasAddress2 = true;
 | 
	
		
			
				|  |  | -            result.address2_ = value;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder ClearAddress2() {
 | 
	
		
			
				|  |  | -            result.hasAddress2 = false;
 | 
	
		
			
				|  |  | -            result.address2_ = "";
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public bool HasCity {
 | 
	
		
			
				|  |  | -            get { return result.HasCity; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public string City {
 | 
	
		
			
				|  |  | -            get { return result.City; }
 | 
	
		
			
				|  |  | -            set { SetCity(value); }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder SetCity(string value) {
 | 
	
		
			
				|  |  | -            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -            result.hasCity = true;
 | 
	
		
			
				|  |  | -            result.city_ = value;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder ClearCity() {
 | 
	
		
			
				|  |  | -            result.hasCity = false;
 | 
	
		
			
				|  |  | -            result.city_ = "";
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public bool HasState {
 | 
	
		
			
				|  |  | -            get { return result.HasState; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public string State {
 | 
	
		
			
				|  |  | -            get { return result.State; }
 | 
	
		
			
				|  |  | -            set { SetState(value); }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder SetState(string value) {
 | 
	
		
			
				|  |  | -            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -            result.hasState = true;
 | 
	
		
			
				|  |  | -            result.state_ = value;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder ClearState() {
 | 
	
		
			
				|  |  | -            result.hasState = false;
 | 
	
		
			
				|  |  | -            result.state_ = "";
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          
 | 
	
		
			
				|  |  | -          public bool HasZip {
 | 
	
		
			
				|  |  | -            get { return result.HasZip; }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          [global::System.CLSCompliant(false)]
 | 
	
		
			
				|  |  | -          public uint Zip {
 | 
	
		
			
				|  |  | -            get { return result.Zip; }
 | 
	
		
			
				|  |  | -            set { SetZip(value); }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          [global::System.CLSCompliant(false)]
 | 
	
		
			
				|  |  | -          public Builder SetZip(uint value) {
 | 
	
		
			
				|  |  | -            result.hasZip = true;
 | 
	
		
			
				|  |  | -            result.zip_ = value;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          public Builder ClearZip() {
 | 
	
		
			
				|  |  | -            result.hasZip = false;
 | 
	
		
			
				|  |  | -            result.zip_ = 0;
 | 
	
		
			
				|  |  | -            return this;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        static Addresses() {
 | 
	
		
			
				|  |  | -          object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int NameFieldNumber = 1;
 | 
	
		
			
				|  |  | -    private bool hasName;
 | 
	
		
			
				|  |  | -    private string name_ = "";
 | 
	
		
			
				|  |  | -    public bool HasName {
 | 
	
		
			
				|  |  | -      get { return hasName; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public string Name {
 | 
	
		
			
				|  |  | -      get { return name_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int IdFieldNumber = 2;
 | 
	
		
			
				|  |  | -    private bool hasId;
 | 
	
		
			
				|  |  | -    private int id_ = 0;
 | 
	
		
			
				|  |  | -    public bool HasId {
 | 
	
		
			
				|  |  | -      get { return hasId; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public int Id {
 | 
	
		
			
				|  |  | -      get { return id_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int EmailFieldNumber = 3;
 | 
	
		
			
				|  |  | -    private bool hasEmail;
 | 
	
		
			
				|  |  | -    private string email_ = "";
 | 
	
		
			
				|  |  | -    public bool HasEmail {
 | 
	
		
			
				|  |  | -      get { return hasEmail; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public string Email {
 | 
	
		
			
				|  |  | -      get { return email_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int CodesFieldNumber = 10;
 | 
	
		
			
				|  |  | -    private int codesMemoizedSerializedSize;
 | 
	
		
			
				|  |  | -    private pbc::PopsicleList<int> codes_ = new pbc::PopsicleList<int>();
 | 
	
		
			
				|  |  | -    public scg::IList<int> CodesList {
 | 
	
		
			
				|  |  | -      get { return pbc::Lists.AsReadOnly(codes_); }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public int CodesCount {
 | 
	
		
			
				|  |  | -      get { return codes_.Count; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public int GetCodes(int index) {
 | 
	
		
			
				|  |  | -      return codes_[index];
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int PhoneFieldNumber = 4;
 | 
	
		
			
				|  |  | -    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> phone_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber>();
 | 
	
		
			
				|  |  | -    public scg::IList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> PhoneList {
 | 
	
		
			
				|  |  | -      get { return phone_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public int PhoneCount {
 | 
	
		
			
				|  |  | -      get { return phone_.Count; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber GetPhone(int index) {
 | 
	
		
			
				|  |  | -      return phone_[index];
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int AddressesFieldNumber = 5;
 | 
	
		
			
				|  |  | -    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> addresses_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses>();
 | 
	
		
			
				|  |  | -    public scg::IList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> AddressesList {
 | 
	
		
			
				|  |  | -      get { return addresses_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public int AddressesCount {
 | 
	
		
			
				|  |  | -      get { return addresses_.Count; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses GetAddresses(int index) {
 | 
	
		
			
				|  |  | -      return addresses_[index];
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override bool IsInitialized {
 | 
	
		
			
				|  |  | -      get {
 | 
	
		
			
				|  |  | -        if (!hasName) return false;
 | 
	
		
			
				|  |  | -        if (!hasId) return false;
 | 
	
		
			
				|  |  | -        foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber element in PhoneList) {
 | 
	
		
			
				|  |  | -          if (!element.IsInitialized) return false;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (!ExtensionsAreInitialized) return false;
 | 
	
		
			
				|  |  | -        return true;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | -      int size = SerializedSize;
 | 
	
		
			
				|  |  | -      pb::ExtendableMessageLite<TestInteropPersonLite, TestInteropPersonLite.Builder>.ExtensionWriter extensionWriter = CreateExtensionWriter(this);
 | 
	
		
			
				|  |  | -      if (HasName) {
 | 
	
		
			
				|  |  | -        output.WriteString(1, Name);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      if (HasId) {
 | 
	
		
			
				|  |  | -        output.WriteInt32(2, Id);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      if (HasEmail) {
 | 
	
		
			
				|  |  | -        output.WriteString(3, Email);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber element in PhoneList) {
 | 
	
		
			
				|  |  | -        output.WriteMessage(4, element);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses element in AddressesList) {
 | 
	
		
			
				|  |  | -        output.WriteGroup(5, element);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      if (codes_.Count > 0) {
 | 
	
		
			
				|  |  | -        output.WriteRawVarint32(82);
 | 
	
		
			
				|  |  | -        output.WriteRawVarint32((uint) codesMemoizedSerializedSize);
 | 
	
		
			
				|  |  | -        foreach (int element in codes_) {
 | 
	
		
			
				|  |  | -          output.WriteInt32NoTag(element);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      extensionWriter.WriteUntil(200, output);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | -    public override int SerializedSize {
 | 
	
		
			
				|  |  | -      get {
 | 
	
		
			
				|  |  | -        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | -        if (size != -1) return size;
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        size = 0;
 | 
	
		
			
				|  |  | -        if (HasName) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeStringSize(1, Name);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (HasId) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeInt32Size(2, Id);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (HasEmail) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeStringSize(3, Email);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          int dataSize = 0;
 | 
	
		
			
				|  |  | -          foreach (int element in CodesList) {
 | 
	
		
			
				|  |  | -            dataSize += pb::CodedOutputStream.ComputeInt32SizeNoTag(element);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          size += dataSize;
 | 
	
		
			
				|  |  | -          if (codes_.Count != 0) {
 | 
	
		
			
				|  |  | -            size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          codesMemoizedSerializedSize = dataSize;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber element in PhoneList) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeMessageSize(4, element);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses element in AddressesList) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeGroupSize(5, element);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        size += ExtensionsSerializedSize;
 | 
	
		
			
				|  |  | -        memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | -        return size;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    #region Lite runtime methods
 | 
	
		
			
				|  |  | -    public override int GetHashCode() {
 | 
	
		
			
				|  |  | -      int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | -      if (hasName) hash ^= name_.GetHashCode();
 | 
	
		
			
				|  |  | -      if (hasId) hash ^= id_.GetHashCode();
 | 
	
		
			
				|  |  | -      if (hasEmail) hash ^= email_.GetHashCode();
 | 
	
		
			
				|  |  | -      foreach(int i in codes_)
 | 
	
		
			
				|  |  | -        hash ^= i.GetHashCode();
 | 
	
		
			
				|  |  | -      foreach(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber i in phone_)
 | 
	
		
			
				|  |  | -        hash ^= i.GetHashCode();
 | 
	
		
			
				|  |  | -      foreach(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses i in addresses_)
 | 
	
		
			
				|  |  | -        hash ^= i.GetHashCode();
 | 
	
		
			
				|  |  | -      hash ^= base.GetHashCode();
 | 
	
		
			
				|  |  | -      return hash;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | -      TestInteropPersonLite other = obj as TestInteropPersonLite;
 | 
	
		
			
				|  |  | -      if (other == null) return false;
 | 
	
		
			
				|  |  | -      if (hasName != other.hasName || (hasName && !name_.Equals(other.name_))) return false;
 | 
	
		
			
				|  |  | -      if (hasId != other.hasId || (hasId && !id_.Equals(other.id_))) return false;
 | 
	
		
			
				|  |  | -      if (hasEmail != other.hasEmail || (hasEmail && !email_.Equals(other.email_))) return false;
 | 
	
		
			
				|  |  | -      if(codes_.Count != other.codes_.Count) return false;
 | 
	
		
			
				|  |  | -      for(int ix=0; ix < codes_.Count; ix++)
 | 
	
		
			
				|  |  | -        if(!codes_[ix].Equals(other.codes_[ix])) return false;
 | 
	
		
			
				|  |  | -      if(phone_.Count != other.phone_.Count) return false;
 | 
	
		
			
				|  |  | -      for(int ix=0; ix < phone_.Count; ix++)
 | 
	
		
			
				|  |  | -        if(!phone_[ix].Equals(other.phone_[ix])) return false;
 | 
	
		
			
				|  |  | -      if(addresses_.Count != other.addresses_.Count) return false;
 | 
	
		
			
				|  |  | -      for(int ix=0; ix < addresses_.Count; ix++)
 | 
	
		
			
				|  |  | -        if(!addresses_[ix].Equals(other.addresses_[ix])) return false;
 | 
	
		
			
				|  |  | -      if (!base.Equals(other)) return false;
 | 
	
		
			
				|  |  | -      return true;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | -      PrintField("name", hasName, name_, writer);
 | 
	
		
			
				|  |  | -      PrintField("id", hasId, id_, writer);
 | 
	
		
			
				|  |  | -      PrintField("email", hasEmail, email_, writer);
 | 
	
		
			
				|  |  | -      PrintField("phone", phone_, writer);
 | 
	
		
			
				|  |  | -      PrintField("Addresses", addresses_, writer);
 | 
	
		
			
				|  |  | -      PrintField("codes", codes_, writer);
 | 
	
		
			
				|  |  | -      base.PrintTo(writer);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropPersonLite ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    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(TestInteropPersonLite prototype) {
 | 
	
		
			
				|  |  | -      return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public sealed partial class Builder : pb::ExtendableBuilderLite<TestInteropPersonLite, Builder> {
 | 
	
		
			
				|  |  | -      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | -        get { return this; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder() {}
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      TestInteropPersonLite result = new TestInteropPersonLite();
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      protected override TestInteropPersonLite MessageBeingBuilt {
 | 
	
		
			
				|  |  | -        get { return result; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder Clear() {
 | 
	
		
			
				|  |  | -        result = new TestInteropPersonLite();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder Clone() {
 | 
	
		
			
				|  |  | -        return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override TestInteropPersonLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | -        get { return global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.DefaultInstance; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override TestInteropPersonLite BuildPartial() {
 | 
	
		
			
				|  |  | -        if (result == null) {
 | 
	
		
			
				|  |  | -          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        result.codes_.MakeReadOnly();
 | 
	
		
			
				|  |  | -        result.phone_.MakeReadOnly();
 | 
	
		
			
				|  |  | -        result.addresses_.MakeReadOnly();
 | 
	
		
			
				|  |  | -        TestInteropPersonLite returnMe = result;
 | 
	
		
			
				|  |  | -        result = null;
 | 
	
		
			
				|  |  | -        return returnMe;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | -        if (other is TestInteropPersonLite) {
 | 
	
		
			
				|  |  | -          return MergeFrom((TestInteropPersonLite) other);
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -          base.MergeFrom(other);
 | 
	
		
			
				|  |  | -          return this;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(TestInteropPersonLite other) {
 | 
	
		
			
				|  |  | -        if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.DefaultInstance) return this;
 | 
	
		
			
				|  |  | -        if (other.HasName) {
 | 
	
		
			
				|  |  | -          Name = other.Name;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (other.HasId) {
 | 
	
		
			
				|  |  | -          Id = other.Id;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (other.HasEmail) {
 | 
	
		
			
				|  |  | -          Email = other.Email;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (other.codes_.Count != 0) {
 | 
	
		
			
				|  |  | -          base.AddRange(other.codes_, result.codes_);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (other.phone_.Count != 0) {
 | 
	
		
			
				|  |  | -          base.AddRange(other.phone_, result.phone_);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (other.addresses_.Count != 0) {
 | 
	
		
			
				|  |  | -          base.AddRange(other.addresses_, result.addresses_);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -          this.MergeExtensionFields(other);
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -        while (true) {
 | 
	
		
			
				|  |  | -          uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | -          switch (tag) {
 | 
	
		
			
				|  |  | -            case 0: {
 | 
	
		
			
				|  |  | -              return this;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            default: {
 | 
	
		
			
				|  |  | -              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | -                return this;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 10: {
 | 
	
		
			
				|  |  | -              Name = input.ReadString();
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 16: {
 | 
	
		
			
				|  |  | -              Id = input.ReadInt32();
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 26: {
 | 
	
		
			
				|  |  | -              Email = input.ReadString();
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 34: {
 | 
	
		
			
				|  |  | -              global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.CreateBuilder();
 | 
	
		
			
				|  |  | -              input.ReadMessage(subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | -              AddPhone(subBuilder.BuildPartial());
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 43: {
 | 
	
		
			
				|  |  | -              global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.CreateBuilder();
 | 
	
		
			
				|  |  | -              input.ReadGroup(5, subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | -              AddAddresses(subBuilder.BuildPartial());
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 82: {
 | 
	
		
			
				|  |  | -              int length = input.ReadInt32();
 | 
	
		
			
				|  |  | -              int limit = input.PushLimit(length);
 | 
	
		
			
				|  |  | -              while (!input.ReachedLimit) {
 | 
	
		
			
				|  |  | -                AddCodes(input.ReadInt32());
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              input.PopLimit(limit);
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public bool HasName {
 | 
	
		
			
				|  |  | -        get { return result.HasName; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public string Name {
 | 
	
		
			
				|  |  | -        get { return result.Name; }
 | 
	
		
			
				|  |  | -        set { SetName(value); }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetName(string value) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -        result.hasName = true;
 | 
	
		
			
				|  |  | -        result.name_ = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearName() {
 | 
	
		
			
				|  |  | -        result.hasName = false;
 | 
	
		
			
				|  |  | -        result.name_ = "";
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public bool HasId {
 | 
	
		
			
				|  |  | -        get { return result.HasId; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public int Id {
 | 
	
		
			
				|  |  | -        get { return result.Id; }
 | 
	
		
			
				|  |  | -        set { SetId(value); }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetId(int value) {
 | 
	
		
			
				|  |  | -        result.hasId = true;
 | 
	
		
			
				|  |  | -        result.id_ = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearId() {
 | 
	
		
			
				|  |  | -        result.hasId = false;
 | 
	
		
			
				|  |  | -        result.id_ = 0;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public bool HasEmail {
 | 
	
		
			
				|  |  | -        get { return result.HasEmail; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public string Email {
 | 
	
		
			
				|  |  | -        get { return result.Email; }
 | 
	
		
			
				|  |  | -        set { SetEmail(value); }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetEmail(string value) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -        result.hasEmail = true;
 | 
	
		
			
				|  |  | -        result.email_ = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearEmail() {
 | 
	
		
			
				|  |  | -        result.hasEmail = false;
 | 
	
		
			
				|  |  | -        result.email_ = "";
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public pbc::IPopsicleList<int> CodesList {
 | 
	
		
			
				|  |  | -        get { return result.codes_; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public int CodesCount {
 | 
	
		
			
				|  |  | -        get { return result.CodesCount; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public int GetCodes(int index) {
 | 
	
		
			
				|  |  | -        return result.GetCodes(index);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetCodes(int index, int value) {
 | 
	
		
			
				|  |  | -        result.codes_[index] = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddCodes(int value) {
 | 
	
		
			
				|  |  | -        result.codes_.Add(value);
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddRangeCodes(scg::IEnumerable<int> values) {
 | 
	
		
			
				|  |  | -        base.AddRange(values, result.codes_);
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearCodes() {
 | 
	
		
			
				|  |  | -        result.codes_.Clear();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> PhoneList {
 | 
	
		
			
				|  |  | -        get { return result.phone_; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public int PhoneCount {
 | 
	
		
			
				|  |  | -        get { return result.PhoneCount; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber GetPhone(int index) {
 | 
	
		
			
				|  |  | -        return result.GetPhone(index);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetPhone(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber value) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -        result.phone_[index] = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetPhone(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.Builder builderForValue) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | -        result.phone_[index] = builderForValue.Build();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddPhone(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber value) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -        result.phone_.Add(value);
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddPhone(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.Builder builderForValue) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | -        result.phone_.Add(builderForValue.Build());
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddRangePhone(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> values) {
 | 
	
		
			
				|  |  | -        base.AddRange(values, result.phone_);
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearPhone() {
 | 
	
		
			
				|  |  | -        result.phone_.Clear();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> AddressesList {
 | 
	
		
			
				|  |  | -        get { return result.addresses_; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public int AddressesCount {
 | 
	
		
			
				|  |  | -        get { return result.AddressesCount; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses GetAddresses(int index) {
 | 
	
		
			
				|  |  | -        return result.GetAddresses(index);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetAddresses(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses value) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -        result.addresses_[index] = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetAddresses(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.Builder builderForValue) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | -        result.addresses_[index] = builderForValue.Build();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddAddresses(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses value) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -        result.addresses_.Add(value);
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddAddresses(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.Builder builderForValue) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | -        result.addresses_.Add(builderForValue.Build());
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder AddRangeAddresses(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> values) {
 | 
	
		
			
				|  |  | -        base.AddRange(values, result.addresses_);
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearAddresses() {
 | 
	
		
			
				|  |  | -        result.addresses_.Clear();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    static TestInteropPersonLite() {
 | 
	
		
			
				|  |  | -      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  public sealed partial class TestInteropEmployeeIdLite : pb::GeneratedMessageLite<TestInteropEmployeeIdLite, TestInteropEmployeeIdLite.Builder> {
 | 
	
		
			
				|  |  | -    private static readonly TestInteropEmployeeIdLite defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite DefaultInstance {
 | 
	
		
			
				|  |  | -      get { return defaultInstance; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override TestInteropEmployeeIdLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | -      get { return defaultInstance; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    protected override TestInteropEmployeeIdLite ThisMessage {
 | 
	
		
			
				|  |  | -      get { return this; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public const int NumberFieldNumber = 1;
 | 
	
		
			
				|  |  | -    private bool hasNumber;
 | 
	
		
			
				|  |  | -    private string number_ = "";
 | 
	
		
			
				|  |  | -    public bool HasNumber {
 | 
	
		
			
				|  |  | -      get { return hasNumber; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public string Number {
 | 
	
		
			
				|  |  | -      get { return number_; }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override bool IsInitialized {
 | 
	
		
			
				|  |  | -      get {
 | 
	
		
			
				|  |  | -        if (!hasNumber) return false;
 | 
	
		
			
				|  |  | -        return true;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | -      int size = SerializedSize;
 | 
	
		
			
				|  |  | -      if (HasNumber) {
 | 
	
		
			
				|  |  | -        output.WriteString(1, Number);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | -    public override int SerializedSize {
 | 
	
		
			
				|  |  | -      get {
 | 
	
		
			
				|  |  | -        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | -        if (size != -1) return size;
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        size = 0;
 | 
	
		
			
				|  |  | -        if (HasNumber) {
 | 
	
		
			
				|  |  | -          size += pb::CodedOutputStream.ComputeStringSize(1, Number);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | -        return size;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    #region Lite runtime methods
 | 
	
		
			
				|  |  | -    public override int GetHashCode() {
 | 
	
		
			
				|  |  | -      int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | -      if (hasNumber) hash ^= number_.GetHashCode();
 | 
	
		
			
				|  |  | -      return hash;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | -      TestInteropEmployeeIdLite other = obj as TestInteropEmployeeIdLite;
 | 
	
		
			
				|  |  | -      if (other == null) return false;
 | 
	
		
			
				|  |  | -      if (hasNumber != other.hasNumber || (hasNumber && !number_.Equals(other.number_))) return false;
 | 
	
		
			
				|  |  | -      return true;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | -      PrintField("number", hasNumber, number_, writer);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    #endregion
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | -      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    public static TestInteropEmployeeIdLite ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    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(TestInteropEmployeeIdLite prototype) {
 | 
	
		
			
				|  |  | -      return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    
 | 
	
		
			
				|  |  | -    public sealed partial class Builder : pb::GeneratedBuilderLite<TestInteropEmployeeIdLite, Builder> {
 | 
	
		
			
				|  |  | -      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | -        get { return this; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder() {}
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      TestInteropEmployeeIdLite result = new TestInteropEmployeeIdLite();
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      protected override TestInteropEmployeeIdLite MessageBeingBuilt {
 | 
	
		
			
				|  |  | -        get { return result; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder Clear() {
 | 
	
		
			
				|  |  | -        result = new TestInteropEmployeeIdLite();
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder Clone() {
 | 
	
		
			
				|  |  | -        return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override TestInteropEmployeeIdLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | -        get { return global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite.DefaultInstance; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override TestInteropEmployeeIdLite BuildPartial() {
 | 
	
		
			
				|  |  | -        if (result == null) {
 | 
	
		
			
				|  |  | -          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        TestInteropEmployeeIdLite returnMe = result;
 | 
	
		
			
				|  |  | -        result = null;
 | 
	
		
			
				|  |  | -        return returnMe;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | -        if (other is TestInteropEmployeeIdLite) {
 | 
	
		
			
				|  |  | -          return MergeFrom((TestInteropEmployeeIdLite) other);
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -          base.MergeFrom(other);
 | 
	
		
			
				|  |  | -          return this;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(TestInteropEmployeeIdLite other) {
 | 
	
		
			
				|  |  | -        if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite.DefaultInstance) return this;
 | 
	
		
			
				|  |  | -        if (other.HasNumber) {
 | 
	
		
			
				|  |  | -          Number = other.Number;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | -        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | -        while (true) {
 | 
	
		
			
				|  |  | -          uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | -          switch (tag) {
 | 
	
		
			
				|  |  | -            case 0: {
 | 
	
		
			
				|  |  | -              return this;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            default: {
 | 
	
		
			
				|  |  | -              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | -                return this;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            case 10: {
 | 
	
		
			
				|  |  | -              Number = input.ReadString();
 | 
	
		
			
				|  |  | -              break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      
 | 
	
		
			
				|  |  | -      public bool HasNumber {
 | 
	
		
			
				|  |  | -        get { return result.HasNumber; }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public string Number {
 | 
	
		
			
				|  |  | -        get { return result.Number; }
 | 
	
		
			
				|  |  | -        set { SetNumber(value); }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder SetNumber(string value) {
 | 
	
		
			
				|  |  | -        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | -        result.hasNumber = true;
 | 
	
		
			
				|  |  | -        result.number_ = value;
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public Builder ClearNumber() {
 | 
	
		
			
				|  |  | -        result.hasNumber = false;
 | 
	
		
			
				|  |  | -        result.number_ = "";
 | 
	
		
			
				|  |  | -        return this;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    static TestInteropEmployeeIdLite() {
 | 
	
		
			
				|  |  | -      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  #endregion
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +// Generated by ProtoGen, Version=0.9.0.0, Culture=neutral, PublicKeyToken=8fd7408b07f8d2cd.  DO NOT EDIT!
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +using pb = global::Google.ProtocolBuffers;
 | 
	
		
			
				|  |  | +using pbc = global::Google.ProtocolBuffers.Collections;
 | 
	
		
			
				|  |  | +using pbd = global::Google.ProtocolBuffers.Descriptors;
 | 
	
		
			
				|  |  | +using scg = global::System.Collections.Generic;
 | 
	
		
			
				|  |  | +namespace Google.ProtocolBuffers.TestProtos {
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  public static partial class UnitTestExtrasLiteProtoFile {
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +    #region Extension registration
 | 
	
		
			
				|  |  | +    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
 | 
	
		
			
				|  |  | +      registry.Add(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.EmployeeIdLite);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    #region Extensions
 | 
	
		
			
				|  |  | +    public const int EmployeeIdLiteFieldNumber = 126;
 | 
	
		
			
				|  |  | +    public static pb::GeneratedExtensionLite<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite, global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite> EmployeeIdLite;
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    #region Static variables
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    #region Extensions
 | 
	
		
			
				|  |  | +    internal static readonly object Descriptor;
 | 
	
		
			
				|  |  | +    static UnitTestExtrasLiteProtoFile() {
 | 
	
		
			
				|  |  | +      Descriptor = null;
 | 
	
		
			
				|  |  | +      global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.EmployeeIdLite = 
 | 
	
		
			
				|  |  | +        new pb::GeneratedExtensionLite<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite, global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite>(
 | 
	
		
			
				|  |  | +          "protobuf_unittest_extra.employee_id_lite",
 | 
	
		
			
				|  |  | +          global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.DefaultInstance,
 | 
	
		
			
				|  |  | +          null,
 | 
	
		
			
				|  |  | +          global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite.DefaultInstance,
 | 
	
		
			
				|  |  | +          null,
 | 
	
		
			
				|  |  | +          global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.EmployeeIdLiteFieldNumber,
 | 
	
		
			
				|  |  | +          pbd::FieldType.Message);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  #region Enums
 | 
	
		
			
				|  |  | +  public enum ExtraEnum {
 | 
	
		
			
				|  |  | +    DEFAULT = 10,
 | 
	
		
			
				|  |  | +    EXLITE_FOO = 7,
 | 
	
		
			
				|  |  | +    EXLITE_BAR = 8,
 | 
	
		
			
				|  |  | +    EXLITE_BAZ = 9,
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  #endregion
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  #region Messages
 | 
	
		
			
				|  |  | +  public sealed partial class TestRequiredLite : pb::GeneratedMessageLite<TestRequiredLite, TestRequiredLite.Builder> {
 | 
	
		
			
				|  |  | +    private static readonly TestRequiredLite defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | +    public static TestRequiredLite DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override TestRequiredLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    protected override TestRequiredLite ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int DFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasD;
 | 
	
		
			
				|  |  | +    private int d_ = 0;
 | 
	
		
			
				|  |  | +    public bool HasD {
 | 
	
		
			
				|  |  | +      get { return hasD; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int D {
 | 
	
		
			
				|  |  | +      get { return d_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int EnFieldNumber = 2;
 | 
	
		
			
				|  |  | +    private bool hasEn;
 | 
	
		
			
				|  |  | +    private global::Google.ProtocolBuffers.TestProtos.ExtraEnum en_ = global::Google.ProtocolBuffers.TestProtos.ExtraEnum.DEFAULT;
 | 
	
		
			
				|  |  | +    public bool HasEn {
 | 
	
		
			
				|  |  | +      get { return hasEn; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public global::Google.ProtocolBuffers.TestProtos.ExtraEnum En {
 | 
	
		
			
				|  |  | +      get { return en_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        if (!hasD) return false;
 | 
	
		
			
				|  |  | +        if (!hasEn) return false;
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | +      int size = SerializedSize;
 | 
	
		
			
				|  |  | +      if (HasD) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(1, D);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (HasEn) {
 | 
	
		
			
				|  |  | +        output.WriteEnum(2, (int) En);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        size = 0;
 | 
	
		
			
				|  |  | +        if (HasD) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeInt32Size(1, D);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (HasEn) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeEnumSize(2, (int) En);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +        return size;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    #region Lite runtime methods
 | 
	
		
			
				|  |  | +    public override int GetHashCode() {
 | 
	
		
			
				|  |  | +      int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | +      if (hasD) hash ^= d_.GetHashCode();
 | 
	
		
			
				|  |  | +      if (hasEn) hash ^= en_.GetHashCode();
 | 
	
		
			
				|  |  | +      return hash;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | +      TestRequiredLite other = obj as TestRequiredLite;
 | 
	
		
			
				|  |  | +      if (other == null) return false;
 | 
	
		
			
				|  |  | +      if (hasD != other.hasD || (hasD && !d_.Equals(other.d_))) return false;
 | 
	
		
			
				|  |  | +      if (hasEn != other.hasEn || (hasEn && !en_.Equals(other.en_))) return false;
 | 
	
		
			
				|  |  | +      return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | +      PrintField("d", hasD, d_, writer);
 | 
	
		
			
				|  |  | +      PrintField("en", hasEn, en_, writer);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestRequiredLite ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    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(TestRequiredLite prototype) {
 | 
	
		
			
				|  |  | +      return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::GeneratedBuilderLite<TestRequiredLite, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {}
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      TestRequiredLite result = new TestRequiredLite();
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      protected override TestRequiredLite MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return result; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = new TestRequiredLite();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override TestRequiredLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::Google.ProtocolBuffers.TestProtos.TestRequiredLite.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override TestRequiredLite BuildPartial() {
 | 
	
		
			
				|  |  | +        if (result == null) {
 | 
	
		
			
				|  |  | +          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TestRequiredLite returnMe = result;
 | 
	
		
			
				|  |  | +        result = null;
 | 
	
		
			
				|  |  | +        return returnMe;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | +        if (other is TestRequiredLite) {
 | 
	
		
			
				|  |  | +          return MergeFrom((TestRequiredLite) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(TestRequiredLite other) {
 | 
	
		
			
				|  |  | +        if (other == global::Google.ProtocolBuffers.TestProtos.TestRequiredLite.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        if (other.HasD) {
 | 
	
		
			
				|  |  | +          D = other.D;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasEn) {
 | 
	
		
			
				|  |  | +          En = other.En;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        while (true) {
 | 
	
		
			
				|  |  | +          uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              return this;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 8: {
 | 
	
		
			
				|  |  | +              D = input.ReadInt32();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 16: {
 | 
	
		
			
				|  |  | +              int rawValue = input.ReadEnum();
 | 
	
		
			
				|  |  | +              if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.TestProtos.ExtraEnum), rawValue)) {
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                En = (global::Google.ProtocolBuffers.TestProtos.ExtraEnum) rawValue;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public bool HasD {
 | 
	
		
			
				|  |  | +        get { return result.HasD; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int D {
 | 
	
		
			
				|  |  | +        get { return result.D; }
 | 
	
		
			
				|  |  | +        set { SetD(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetD(int value) {
 | 
	
		
			
				|  |  | +        result.hasD = true;
 | 
	
		
			
				|  |  | +        result.d_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearD() {
 | 
	
		
			
				|  |  | +        result.hasD = false;
 | 
	
		
			
				|  |  | +        result.d_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public bool HasEn {
 | 
	
		
			
				|  |  | +       get { return result.HasEn; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public global::Google.ProtocolBuffers.TestProtos.ExtraEnum En {
 | 
	
		
			
				|  |  | +        get { return result.En; }
 | 
	
		
			
				|  |  | +        set { SetEn(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetEn(global::Google.ProtocolBuffers.TestProtos.ExtraEnum value) {
 | 
	
		
			
				|  |  | +        result.hasEn = true;
 | 
	
		
			
				|  |  | +        result.en_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearEn() {
 | 
	
		
			
				|  |  | +        result.hasEn = false;
 | 
	
		
			
				|  |  | +        result.en_ = global::Google.ProtocolBuffers.TestProtos.ExtraEnum.DEFAULT;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static TestRequiredLite() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  public sealed partial class TestInteropPersonLite : pb::ExtendableMessageLite<TestInteropPersonLite, TestInteropPersonLite.Builder> {
 | 
	
		
			
				|  |  | +    private static readonly TestInteropPersonLite defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override TestInteropPersonLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    protected override TestInteropPersonLite ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    #region Nested types
 | 
	
		
			
				|  |  | +    public static class Types {
 | 
	
		
			
				|  |  | +      public enum PhoneType {
 | 
	
		
			
				|  |  | +        MOBILE = 0,
 | 
	
		
			
				|  |  | +        HOME = 1,
 | 
	
		
			
				|  |  | +        WORK = 2,
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public sealed partial class PhoneNumber : pb::GeneratedMessageLite<PhoneNumber, PhoneNumber.Builder> {
 | 
	
		
			
				|  |  | +        private static readonly PhoneNumber defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | +        public static PhoneNumber DefaultInstance {
 | 
	
		
			
				|  |  | +          get { return defaultInstance; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override PhoneNumber DefaultInstanceForType {
 | 
	
		
			
				|  |  | +          get { return defaultInstance; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        protected override PhoneNumber ThisMessage {
 | 
	
		
			
				|  |  | +          get { return this; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public const int NumberFieldNumber = 1;
 | 
	
		
			
				|  |  | +        private bool hasNumber;
 | 
	
		
			
				|  |  | +        private string number_ = "";
 | 
	
		
			
				|  |  | +        public bool HasNumber {
 | 
	
		
			
				|  |  | +          get { return hasNumber; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public string Number {
 | 
	
		
			
				|  |  | +          get { return number_; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public const int TypeFieldNumber = 2;
 | 
	
		
			
				|  |  | +        private bool hasType;
 | 
	
		
			
				|  |  | +        private global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType type_ = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType.HOME;
 | 
	
		
			
				|  |  | +        public bool HasType {
 | 
	
		
			
				|  |  | +          get { return hasType; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType Type {
 | 
	
		
			
				|  |  | +          get { return type_; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override bool IsInitialized {
 | 
	
		
			
				|  |  | +          get {
 | 
	
		
			
				|  |  | +            if (!hasNumber) return false;
 | 
	
		
			
				|  |  | +            return true;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | +          int size = SerializedSize;
 | 
	
		
			
				|  |  | +          if (HasNumber) {
 | 
	
		
			
				|  |  | +            output.WriteString(1, Number);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (HasType) {
 | 
	
		
			
				|  |  | +            output.WriteEnum(2, (int) Type);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +        public override int SerializedSize {
 | 
	
		
			
				|  |  | +          get {
 | 
	
		
			
				|  |  | +            int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +            if (size != -1) return size;
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            size = 0;
 | 
	
		
			
				|  |  | +            if (HasNumber) {
 | 
	
		
			
				|  |  | +              size += pb::CodedOutputStream.ComputeStringSize(1, Number);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (HasType) {
 | 
	
		
			
				|  |  | +              size += pb::CodedOutputStream.ComputeEnumSize(2, (int) Type);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +            return size;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        #region Lite runtime methods
 | 
	
		
			
				|  |  | +        public override int GetHashCode() {
 | 
	
		
			
				|  |  | +          int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | +          if (hasNumber) hash ^= number_.GetHashCode();
 | 
	
		
			
				|  |  | +          if (hasType) hash ^= type_.GetHashCode();
 | 
	
		
			
				|  |  | +          return hash;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | +          PhoneNumber other = obj as PhoneNumber;
 | 
	
		
			
				|  |  | +          if (other == null) return false;
 | 
	
		
			
				|  |  | +          if (hasNumber != other.hasNumber || (hasNumber && !number_.Equals(other.number_))) return false;
 | 
	
		
			
				|  |  | +          if (hasType != other.hasType || (hasType && !type_.Equals(other.type_))) return false;
 | 
	
		
			
				|  |  | +          return true;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | +          PrintField("number", hasNumber, number_, writer);
 | 
	
		
			
				|  |  | +          PrintField("type", hasType, type_, writer);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        #endregion
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +          return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static PhoneNumber ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        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(PhoneNumber prototype) {
 | 
	
		
			
				|  |  | +          return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public sealed partial class Builder : pb::GeneratedBuilderLite<PhoneNumber, Builder> {
 | 
	
		
			
				|  |  | +          protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +            get { return this; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder() {}
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          PhoneNumber result = new PhoneNumber();
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          protected override PhoneNumber MessageBeingBuilt {
 | 
	
		
			
				|  |  | +            get { return result; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder Clear() {
 | 
	
		
			
				|  |  | +            result = new PhoneNumber();
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder Clone() {
 | 
	
		
			
				|  |  | +            return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override PhoneNumber DefaultInstanceForType {
 | 
	
		
			
				|  |  | +            get { return global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.DefaultInstance; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override PhoneNumber BuildPartial() {
 | 
	
		
			
				|  |  | +            if (result == null) {
 | 
	
		
			
				|  |  | +              throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            PhoneNumber returnMe = result;
 | 
	
		
			
				|  |  | +            result = null;
 | 
	
		
			
				|  |  | +            return returnMe;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | +            if (other is PhoneNumber) {
 | 
	
		
			
				|  |  | +              return MergeFrom((PhoneNumber) other);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              base.MergeFrom(other);
 | 
	
		
			
				|  |  | +              return this;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(PhoneNumber other) {
 | 
	
		
			
				|  |  | +            if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +            if (other.HasNumber) {
 | 
	
		
			
				|  |  | +              Number = other.Number;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (other.HasType) {
 | 
	
		
			
				|  |  | +              Type = other.Type;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +            return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +            while (true) {
 | 
	
		
			
				|  |  | +              uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | +              switch (tag) {
 | 
	
		
			
				|  |  | +                case 0: {
 | 
	
		
			
				|  |  | +                  return this;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                default: {
 | 
	
		
			
				|  |  | +                  if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                    return this;
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                  ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                case 10: {
 | 
	
		
			
				|  |  | +                  Number = input.ReadString();
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                case 16: {
 | 
	
		
			
				|  |  | +                  int rawValue = input.ReadEnum();
 | 
	
		
			
				|  |  | +                  if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType), rawValue)) {
 | 
	
		
			
				|  |  | +                  } else {
 | 
	
		
			
				|  |  | +                    Type = (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType) rawValue;
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public bool HasNumber {
 | 
	
		
			
				|  |  | +            get { return result.HasNumber; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public string Number {
 | 
	
		
			
				|  |  | +            get { return result.Number; }
 | 
	
		
			
				|  |  | +            set { SetNumber(value); }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder SetNumber(string value) {
 | 
	
		
			
				|  |  | +            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +            result.hasNumber = true;
 | 
	
		
			
				|  |  | +            result.number_ = value;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder ClearNumber() {
 | 
	
		
			
				|  |  | +            result.hasNumber = false;
 | 
	
		
			
				|  |  | +            result.number_ = "";
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public bool HasType {
 | 
	
		
			
				|  |  | +           get { return result.HasType; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType Type {
 | 
	
		
			
				|  |  | +            get { return result.Type; }
 | 
	
		
			
				|  |  | +            set { SetType(value); }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder SetType(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType value) {
 | 
	
		
			
				|  |  | +            result.hasType = true;
 | 
	
		
			
				|  |  | +            result.type_ = value;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder ClearType() {
 | 
	
		
			
				|  |  | +            result.hasType = false;
 | 
	
		
			
				|  |  | +            result.type_ = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneType.HOME;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        static PhoneNumber() {
 | 
	
		
			
				|  |  | +          object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public sealed partial class Addresses : pb::GeneratedMessageLite<Addresses, Addresses.Builder> {
 | 
	
		
			
				|  |  | +        private static readonly Addresses defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | +        public static Addresses DefaultInstance {
 | 
	
		
			
				|  |  | +          get { return defaultInstance; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override Addresses DefaultInstanceForType {
 | 
	
		
			
				|  |  | +          get { return defaultInstance; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        protected override Addresses ThisMessage {
 | 
	
		
			
				|  |  | +          get { return this; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public const int AddressFieldNumber = 1;
 | 
	
		
			
				|  |  | +        private bool hasAddress;
 | 
	
		
			
				|  |  | +        private string address_ = "";
 | 
	
		
			
				|  |  | +        public bool HasAddress {
 | 
	
		
			
				|  |  | +          get { return hasAddress; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public string Address {
 | 
	
		
			
				|  |  | +          get { return address_; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public const int Address2FieldNumber = 2;
 | 
	
		
			
				|  |  | +        private bool hasAddress2;
 | 
	
		
			
				|  |  | +        private string address2_ = "";
 | 
	
		
			
				|  |  | +        public bool HasAddress2 {
 | 
	
		
			
				|  |  | +          get { return hasAddress2; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public string Address2 {
 | 
	
		
			
				|  |  | +          get { return address2_; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public const int CityFieldNumber = 3;
 | 
	
		
			
				|  |  | +        private bool hasCity;
 | 
	
		
			
				|  |  | +        private string city_ = "";
 | 
	
		
			
				|  |  | +        public bool HasCity {
 | 
	
		
			
				|  |  | +          get { return hasCity; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public string City {
 | 
	
		
			
				|  |  | +          get { return city_; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public const int StateFieldNumber = 4;
 | 
	
		
			
				|  |  | +        private bool hasState;
 | 
	
		
			
				|  |  | +        private string state_ = "";
 | 
	
		
			
				|  |  | +        public bool HasState {
 | 
	
		
			
				|  |  | +          get { return hasState; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public string State {
 | 
	
		
			
				|  |  | +          get { return state_; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public const int ZipFieldNumber = 5;
 | 
	
		
			
				|  |  | +        private bool hasZip;
 | 
	
		
			
				|  |  | +        private uint zip_ = 0;
 | 
	
		
			
				|  |  | +        public bool HasZip {
 | 
	
		
			
				|  |  | +          get { return hasZip; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        [global::System.CLSCompliant(false)]
 | 
	
		
			
				|  |  | +        public uint Zip {
 | 
	
		
			
				|  |  | +          get { return zip_; }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override bool IsInitialized {
 | 
	
		
			
				|  |  | +          get {
 | 
	
		
			
				|  |  | +            if (!hasAddress) return false;
 | 
	
		
			
				|  |  | +            if (!hasCity) return false;
 | 
	
		
			
				|  |  | +            if (!hasState) return false;
 | 
	
		
			
				|  |  | +            if (!hasZip) return false;
 | 
	
		
			
				|  |  | +            return true;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | +          int size = SerializedSize;
 | 
	
		
			
				|  |  | +          if (HasAddress) {
 | 
	
		
			
				|  |  | +            output.WriteString(1, Address);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (HasAddress2) {
 | 
	
		
			
				|  |  | +            output.WriteString(2, Address2);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (HasCity) {
 | 
	
		
			
				|  |  | +            output.WriteString(3, City);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (HasState) {
 | 
	
		
			
				|  |  | +            output.WriteString(4, State);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (HasZip) {
 | 
	
		
			
				|  |  | +            output.WriteFixed32(5, Zip);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +        public override int SerializedSize {
 | 
	
		
			
				|  |  | +          get {
 | 
	
		
			
				|  |  | +            int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +            if (size != -1) return size;
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            size = 0;
 | 
	
		
			
				|  |  | +            if (HasAddress) {
 | 
	
		
			
				|  |  | +              size += pb::CodedOutputStream.ComputeStringSize(1, Address);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (HasAddress2) {
 | 
	
		
			
				|  |  | +              size += pb::CodedOutputStream.ComputeStringSize(2, Address2);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (HasCity) {
 | 
	
		
			
				|  |  | +              size += pb::CodedOutputStream.ComputeStringSize(3, City);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (HasState) {
 | 
	
		
			
				|  |  | +              size += pb::CodedOutputStream.ComputeStringSize(4, State);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (HasZip) {
 | 
	
		
			
				|  |  | +              size += pb::CodedOutputStream.ComputeFixed32Size(5, Zip);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +            return size;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        #region Lite runtime methods
 | 
	
		
			
				|  |  | +        public override int GetHashCode() {
 | 
	
		
			
				|  |  | +          int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | +          if (hasAddress) hash ^= address_.GetHashCode();
 | 
	
		
			
				|  |  | +          if (hasAddress2) hash ^= address2_.GetHashCode();
 | 
	
		
			
				|  |  | +          if (hasCity) hash ^= city_.GetHashCode();
 | 
	
		
			
				|  |  | +          if (hasState) hash ^= state_.GetHashCode();
 | 
	
		
			
				|  |  | +          if (hasZip) hash ^= zip_.GetHashCode();
 | 
	
		
			
				|  |  | +          return hash;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | +          Addresses other = obj as Addresses;
 | 
	
		
			
				|  |  | +          if (other == null) return false;
 | 
	
		
			
				|  |  | +          if (hasAddress != other.hasAddress || (hasAddress && !address_.Equals(other.address_))) return false;
 | 
	
		
			
				|  |  | +          if (hasAddress2 != other.hasAddress2 || (hasAddress2 && !address2_.Equals(other.address2_))) return false;
 | 
	
		
			
				|  |  | +          if (hasCity != other.hasCity || (hasCity && !city_.Equals(other.city_))) return false;
 | 
	
		
			
				|  |  | +          if (hasState != other.hasState || (hasState && !state_.Equals(other.state_))) return false;
 | 
	
		
			
				|  |  | +          if (hasZip != other.hasZip || (hasZip && !zip_.Equals(other.zip_))) return false;
 | 
	
		
			
				|  |  | +          return true;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | +          PrintField("address", hasAddress, address_, writer);
 | 
	
		
			
				|  |  | +          PrintField("address2", hasAddress2, address2_, writer);
 | 
	
		
			
				|  |  | +          PrintField("city", hasCity, city_, writer);
 | 
	
		
			
				|  |  | +          PrintField("state", hasState, state_, writer);
 | 
	
		
			
				|  |  | +          PrintField("zip", hasZip, zip_, writer);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        #endregion
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +          return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        public static Addresses ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        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(Addresses prototype) {
 | 
	
		
			
				|  |  | +          return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        public sealed partial class Builder : pb::GeneratedBuilderLite<Addresses, Builder> {
 | 
	
		
			
				|  |  | +          protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +            get { return this; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder() {}
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          Addresses result = new Addresses();
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          protected override Addresses MessageBeingBuilt {
 | 
	
		
			
				|  |  | +            get { return result; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder Clear() {
 | 
	
		
			
				|  |  | +            result = new Addresses();
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder Clone() {
 | 
	
		
			
				|  |  | +            return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Addresses DefaultInstanceForType {
 | 
	
		
			
				|  |  | +            get { return global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.DefaultInstance; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Addresses BuildPartial() {
 | 
	
		
			
				|  |  | +            if (result == null) {
 | 
	
		
			
				|  |  | +              throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            Addresses returnMe = result;
 | 
	
		
			
				|  |  | +            result = null;
 | 
	
		
			
				|  |  | +            return returnMe;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | +            if (other is Addresses) {
 | 
	
		
			
				|  |  | +              return MergeFrom((Addresses) other);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              base.MergeFrom(other);
 | 
	
		
			
				|  |  | +              return this;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(Addresses other) {
 | 
	
		
			
				|  |  | +            if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +            if (other.HasAddress) {
 | 
	
		
			
				|  |  | +              Address = other.Address;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (other.HasAddress2) {
 | 
	
		
			
				|  |  | +              Address2 = other.Address2;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (other.HasCity) {
 | 
	
		
			
				|  |  | +              City = other.City;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (other.HasState) {
 | 
	
		
			
				|  |  | +              State = other.State;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (other.HasZip) {
 | 
	
		
			
				|  |  | +              Zip = other.Zip;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +            return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +            while (true) {
 | 
	
		
			
				|  |  | +              uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | +              switch (tag) {
 | 
	
		
			
				|  |  | +                case 0: {
 | 
	
		
			
				|  |  | +                  return this;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                default: {
 | 
	
		
			
				|  |  | +                  if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                    return this;
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                  ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                case 10: {
 | 
	
		
			
				|  |  | +                  Address = input.ReadString();
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                case 18: {
 | 
	
		
			
				|  |  | +                  Address2 = input.ReadString();
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                case 26: {
 | 
	
		
			
				|  |  | +                  City = input.ReadString();
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                case 34: {
 | 
	
		
			
				|  |  | +                  State = input.ReadString();
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                case 45: {
 | 
	
		
			
				|  |  | +                  Zip = input.ReadFixed32();
 | 
	
		
			
				|  |  | +                  break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public bool HasAddress {
 | 
	
		
			
				|  |  | +            get { return result.HasAddress; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public string Address {
 | 
	
		
			
				|  |  | +            get { return result.Address; }
 | 
	
		
			
				|  |  | +            set { SetAddress(value); }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder SetAddress(string value) {
 | 
	
		
			
				|  |  | +            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +            result.hasAddress = true;
 | 
	
		
			
				|  |  | +            result.address_ = value;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder ClearAddress() {
 | 
	
		
			
				|  |  | +            result.hasAddress = false;
 | 
	
		
			
				|  |  | +            result.address_ = "";
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public bool HasAddress2 {
 | 
	
		
			
				|  |  | +            get { return result.HasAddress2; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public string Address2 {
 | 
	
		
			
				|  |  | +            get { return result.Address2; }
 | 
	
		
			
				|  |  | +            set { SetAddress2(value); }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder SetAddress2(string value) {
 | 
	
		
			
				|  |  | +            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +            result.hasAddress2 = true;
 | 
	
		
			
				|  |  | +            result.address2_ = value;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder ClearAddress2() {
 | 
	
		
			
				|  |  | +            result.hasAddress2 = false;
 | 
	
		
			
				|  |  | +            result.address2_ = "";
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public bool HasCity {
 | 
	
		
			
				|  |  | +            get { return result.HasCity; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public string City {
 | 
	
		
			
				|  |  | +            get { return result.City; }
 | 
	
		
			
				|  |  | +            set { SetCity(value); }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder SetCity(string value) {
 | 
	
		
			
				|  |  | +            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +            result.hasCity = true;
 | 
	
		
			
				|  |  | +            result.city_ = value;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder ClearCity() {
 | 
	
		
			
				|  |  | +            result.hasCity = false;
 | 
	
		
			
				|  |  | +            result.city_ = "";
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public bool HasState {
 | 
	
		
			
				|  |  | +            get { return result.HasState; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public string State {
 | 
	
		
			
				|  |  | +            get { return result.State; }
 | 
	
		
			
				|  |  | +            set { SetState(value); }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder SetState(string value) {
 | 
	
		
			
				|  |  | +            pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +            result.hasState = true;
 | 
	
		
			
				|  |  | +            result.state_ = value;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder ClearState() {
 | 
	
		
			
				|  |  | +            result.hasState = false;
 | 
	
		
			
				|  |  | +            result.state_ = "";
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          
 | 
	
		
			
				|  |  | +          public bool HasZip {
 | 
	
		
			
				|  |  | +            get { return result.HasZip; }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          [global::System.CLSCompliant(false)]
 | 
	
		
			
				|  |  | +          public uint Zip {
 | 
	
		
			
				|  |  | +            get { return result.Zip; }
 | 
	
		
			
				|  |  | +            set { SetZip(value); }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          [global::System.CLSCompliant(false)]
 | 
	
		
			
				|  |  | +          public Builder SetZip(uint value) {
 | 
	
		
			
				|  |  | +            result.hasZip = true;
 | 
	
		
			
				|  |  | +            result.zip_ = value;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          public Builder ClearZip() {
 | 
	
		
			
				|  |  | +            result.hasZip = false;
 | 
	
		
			
				|  |  | +            result.zip_ = 0;
 | 
	
		
			
				|  |  | +            return this;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        static Addresses() {
 | 
	
		
			
				|  |  | +          object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int NameFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasName;
 | 
	
		
			
				|  |  | +    private string name_ = "";
 | 
	
		
			
				|  |  | +    public bool HasName {
 | 
	
		
			
				|  |  | +      get { return hasName; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public string Name {
 | 
	
		
			
				|  |  | +      get { return name_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int IdFieldNumber = 2;
 | 
	
		
			
				|  |  | +    private bool hasId;
 | 
	
		
			
				|  |  | +    private int id_ = 0;
 | 
	
		
			
				|  |  | +    public bool HasId {
 | 
	
		
			
				|  |  | +      get { return hasId; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int Id {
 | 
	
		
			
				|  |  | +      get { return id_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int EmailFieldNumber = 3;
 | 
	
		
			
				|  |  | +    private bool hasEmail;
 | 
	
		
			
				|  |  | +    private string email_ = "";
 | 
	
		
			
				|  |  | +    public bool HasEmail {
 | 
	
		
			
				|  |  | +      get { return hasEmail; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public string Email {
 | 
	
		
			
				|  |  | +      get { return email_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int CodesFieldNumber = 10;
 | 
	
		
			
				|  |  | +    private int codesMemoizedSerializedSize;
 | 
	
		
			
				|  |  | +    private pbc::PopsicleList<int> codes_ = new pbc::PopsicleList<int>();
 | 
	
		
			
				|  |  | +    public scg::IList<int> CodesList {
 | 
	
		
			
				|  |  | +      get { return pbc::Lists.AsReadOnly(codes_); }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int CodesCount {
 | 
	
		
			
				|  |  | +      get { return codes_.Count; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int GetCodes(int index) {
 | 
	
		
			
				|  |  | +      return codes_[index];
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int PhoneFieldNumber = 4;
 | 
	
		
			
				|  |  | +    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> phone_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber>();
 | 
	
		
			
				|  |  | +    public scg::IList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> PhoneList {
 | 
	
		
			
				|  |  | +      get { return phone_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int PhoneCount {
 | 
	
		
			
				|  |  | +      get { return phone_.Count; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber GetPhone(int index) {
 | 
	
		
			
				|  |  | +      return phone_[index];
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int AddressesFieldNumber = 5;
 | 
	
		
			
				|  |  | +    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> addresses_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses>();
 | 
	
		
			
				|  |  | +    public scg::IList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> AddressesList {
 | 
	
		
			
				|  |  | +      get { return addresses_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public int AddressesCount {
 | 
	
		
			
				|  |  | +      get { return addresses_.Count; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses GetAddresses(int index) {
 | 
	
		
			
				|  |  | +      return addresses_[index];
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        if (!hasName) return false;
 | 
	
		
			
				|  |  | +        if (!hasId) return false;
 | 
	
		
			
				|  |  | +        foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber element in PhoneList) {
 | 
	
		
			
				|  |  | +          if (!element.IsInitialized) return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (!ExtensionsAreInitialized) return false;
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | +      int size = SerializedSize;
 | 
	
		
			
				|  |  | +      pb::ExtendableMessageLite<TestInteropPersonLite, TestInteropPersonLite.Builder>.ExtensionWriter extensionWriter = CreateExtensionWriter(this);
 | 
	
		
			
				|  |  | +      if (HasName) {
 | 
	
		
			
				|  |  | +        output.WriteString(1, Name);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (HasId) {
 | 
	
		
			
				|  |  | +        output.WriteInt32(2, Id);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (HasEmail) {
 | 
	
		
			
				|  |  | +        output.WriteString(3, Email);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber element in PhoneList) {
 | 
	
		
			
				|  |  | +        output.WriteMessage(4, element);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses element in AddressesList) {
 | 
	
		
			
				|  |  | +        output.WriteGroup(5, element);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (codes_.Count > 0) {
 | 
	
		
			
				|  |  | +        output.WriteRawVarint32(82);
 | 
	
		
			
				|  |  | +        output.WriteRawVarint32((uint) codesMemoizedSerializedSize);
 | 
	
		
			
				|  |  | +        foreach (int element in codes_) {
 | 
	
		
			
				|  |  | +          output.WriteInt32NoTag(element);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      extensionWriter.WriteUntil(200, output);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        size = 0;
 | 
	
		
			
				|  |  | +        if (HasName) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeStringSize(1, Name);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (HasId) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeInt32Size(2, Id);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (HasEmail) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeStringSize(3, Email);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          int dataSize = 0;
 | 
	
		
			
				|  |  | +          foreach (int element in CodesList) {
 | 
	
		
			
				|  |  | +            dataSize += pb::CodedOutputStream.ComputeInt32SizeNoTag(element);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          size += dataSize;
 | 
	
		
			
				|  |  | +          if (codes_.Count != 0) {
 | 
	
		
			
				|  |  | +            size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          codesMemoizedSerializedSize = dataSize;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber element in PhoneList) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeMessageSize(4, element);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        foreach (global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses element in AddressesList) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeGroupSize(5, element);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        size += ExtensionsSerializedSize;
 | 
	
		
			
				|  |  | +        memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +        return size;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    #region Lite runtime methods
 | 
	
		
			
				|  |  | +    public override int GetHashCode() {
 | 
	
		
			
				|  |  | +      int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | +      if (hasName) hash ^= name_.GetHashCode();
 | 
	
		
			
				|  |  | +      if (hasId) hash ^= id_.GetHashCode();
 | 
	
		
			
				|  |  | +      if (hasEmail) hash ^= email_.GetHashCode();
 | 
	
		
			
				|  |  | +      foreach(int i in codes_)
 | 
	
		
			
				|  |  | +        hash ^= i.GetHashCode();
 | 
	
		
			
				|  |  | +      foreach(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber i in phone_)
 | 
	
		
			
				|  |  | +        hash ^= i.GetHashCode();
 | 
	
		
			
				|  |  | +      foreach(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses i in addresses_)
 | 
	
		
			
				|  |  | +        hash ^= i.GetHashCode();
 | 
	
		
			
				|  |  | +      hash ^= base.GetHashCode();
 | 
	
		
			
				|  |  | +      return hash;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | +      TestInteropPersonLite other = obj as TestInteropPersonLite;
 | 
	
		
			
				|  |  | +      if (other == null) return false;
 | 
	
		
			
				|  |  | +      if (hasName != other.hasName || (hasName && !name_.Equals(other.name_))) return false;
 | 
	
		
			
				|  |  | +      if (hasId != other.hasId || (hasId && !id_.Equals(other.id_))) return false;
 | 
	
		
			
				|  |  | +      if (hasEmail != other.hasEmail || (hasEmail && !email_.Equals(other.email_))) return false;
 | 
	
		
			
				|  |  | +      if(codes_.Count != other.codes_.Count) return false;
 | 
	
		
			
				|  |  | +      for(int ix=0; ix < codes_.Count; ix++)
 | 
	
		
			
				|  |  | +        if(!codes_[ix].Equals(other.codes_[ix])) return false;
 | 
	
		
			
				|  |  | +      if(phone_.Count != other.phone_.Count) return false;
 | 
	
		
			
				|  |  | +      for(int ix=0; ix < phone_.Count; ix++)
 | 
	
		
			
				|  |  | +        if(!phone_[ix].Equals(other.phone_[ix])) return false;
 | 
	
		
			
				|  |  | +      if(addresses_.Count != other.addresses_.Count) return false;
 | 
	
		
			
				|  |  | +      for(int ix=0; ix < addresses_.Count; ix++)
 | 
	
		
			
				|  |  | +        if(!addresses_[ix].Equals(other.addresses_[ix])) return false;
 | 
	
		
			
				|  |  | +      if (!base.Equals(other)) return false;
 | 
	
		
			
				|  |  | +      return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | +      PrintField("name", hasName, name_, writer);
 | 
	
		
			
				|  |  | +      PrintField("id", hasId, id_, writer);
 | 
	
		
			
				|  |  | +      PrintField("email", hasEmail, email_, writer);
 | 
	
		
			
				|  |  | +      PrintField("phone", phone_, writer);
 | 
	
		
			
				|  |  | +      PrintField("Addresses", addresses_, writer);
 | 
	
		
			
				|  |  | +      PrintField("codes", codes_, writer);
 | 
	
		
			
				|  |  | +      base.PrintTo(writer);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropPersonLite ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    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(TestInteropPersonLite prototype) {
 | 
	
		
			
				|  |  | +      return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::ExtendableBuilderLite<TestInteropPersonLite, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {}
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      TestInteropPersonLite result = new TestInteropPersonLite();
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      protected override TestInteropPersonLite MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return result; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = new TestInteropPersonLite();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override TestInteropPersonLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override TestInteropPersonLite BuildPartial() {
 | 
	
		
			
				|  |  | +        if (result == null) {
 | 
	
		
			
				|  |  | +          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        result.codes_.MakeReadOnly();
 | 
	
		
			
				|  |  | +        result.phone_.MakeReadOnly();
 | 
	
		
			
				|  |  | +        result.addresses_.MakeReadOnly();
 | 
	
		
			
				|  |  | +        TestInteropPersonLite returnMe = result;
 | 
	
		
			
				|  |  | +        result = null;
 | 
	
		
			
				|  |  | +        return returnMe;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | +        if (other is TestInteropPersonLite) {
 | 
	
		
			
				|  |  | +          return MergeFrom((TestInteropPersonLite) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(TestInteropPersonLite other) {
 | 
	
		
			
				|  |  | +        if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        if (other.HasName) {
 | 
	
		
			
				|  |  | +          Name = other.Name;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasId) {
 | 
	
		
			
				|  |  | +          Id = other.Id;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.HasEmail) {
 | 
	
		
			
				|  |  | +          Email = other.Email;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.codes_.Count != 0) {
 | 
	
		
			
				|  |  | +          base.AddRange(other.codes_, result.codes_);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.phone_.Count != 0) {
 | 
	
		
			
				|  |  | +          base.AddRange(other.phone_, result.phone_);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (other.addresses_.Count != 0) {
 | 
	
		
			
				|  |  | +          base.AddRange(other.addresses_, result.addresses_);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +          this.MergeExtensionFields(other);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        while (true) {
 | 
	
		
			
				|  |  | +          uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              return this;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 10: {
 | 
	
		
			
				|  |  | +              Name = input.ReadString();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 16: {
 | 
	
		
			
				|  |  | +              Id = input.ReadInt32();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 26: {
 | 
	
		
			
				|  |  | +              Email = input.ReadString();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 34: {
 | 
	
		
			
				|  |  | +              global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.CreateBuilder();
 | 
	
		
			
				|  |  | +              input.ReadMessage(subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | +              AddPhone(subBuilder.BuildPartial());
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 43: {
 | 
	
		
			
				|  |  | +              global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.CreateBuilder();
 | 
	
		
			
				|  |  | +              input.ReadGroup(5, subBuilder, extensionRegistry);
 | 
	
		
			
				|  |  | +              AddAddresses(subBuilder.BuildPartial());
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 82: {
 | 
	
		
			
				|  |  | +              int length = input.ReadInt32();
 | 
	
		
			
				|  |  | +              int limit = input.PushLimit(length);
 | 
	
		
			
				|  |  | +              while (!input.ReachedLimit) {
 | 
	
		
			
				|  |  | +                AddCodes(input.ReadInt32());
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              input.PopLimit(limit);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public bool HasName {
 | 
	
		
			
				|  |  | +        get { return result.HasName; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public string Name {
 | 
	
		
			
				|  |  | +        get { return result.Name; }
 | 
	
		
			
				|  |  | +        set { SetName(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetName(string value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        result.hasName = true;
 | 
	
		
			
				|  |  | +        result.name_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearName() {
 | 
	
		
			
				|  |  | +        result.hasName = false;
 | 
	
		
			
				|  |  | +        result.name_ = "";
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public bool HasId {
 | 
	
		
			
				|  |  | +        get { return result.HasId; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int Id {
 | 
	
		
			
				|  |  | +        get { return result.Id; }
 | 
	
		
			
				|  |  | +        set { SetId(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetId(int value) {
 | 
	
		
			
				|  |  | +        result.hasId = true;
 | 
	
		
			
				|  |  | +        result.id_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearId() {
 | 
	
		
			
				|  |  | +        result.hasId = false;
 | 
	
		
			
				|  |  | +        result.id_ = 0;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public bool HasEmail {
 | 
	
		
			
				|  |  | +        get { return result.HasEmail; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public string Email {
 | 
	
		
			
				|  |  | +        get { return result.Email; }
 | 
	
		
			
				|  |  | +        set { SetEmail(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetEmail(string value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        result.hasEmail = true;
 | 
	
		
			
				|  |  | +        result.email_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearEmail() {
 | 
	
		
			
				|  |  | +        result.hasEmail = false;
 | 
	
		
			
				|  |  | +        result.email_ = "";
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public pbc::IPopsicleList<int> CodesList {
 | 
	
		
			
				|  |  | +        get { return result.codes_; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int CodesCount {
 | 
	
		
			
				|  |  | +        get { return result.CodesCount; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int GetCodes(int index) {
 | 
	
		
			
				|  |  | +        return result.GetCodes(index);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetCodes(int index, int value) {
 | 
	
		
			
				|  |  | +        result.codes_[index] = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddCodes(int value) {
 | 
	
		
			
				|  |  | +        result.codes_.Add(value);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddRangeCodes(scg::IEnumerable<int> values) {
 | 
	
		
			
				|  |  | +        base.AddRange(values, result.codes_);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearCodes() {
 | 
	
		
			
				|  |  | +        result.codes_.Clear();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> PhoneList {
 | 
	
		
			
				|  |  | +        get { return result.phone_; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int PhoneCount {
 | 
	
		
			
				|  |  | +        get { return result.PhoneCount; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber GetPhone(int index) {
 | 
	
		
			
				|  |  | +        return result.GetPhone(index);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetPhone(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        result.phone_[index] = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetPhone(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        result.phone_[index] = builderForValue.Build();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddPhone(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        result.phone_.Add(value);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddPhone(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        result.phone_.Add(builderForValue.Build());
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddRangePhone(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.PhoneNumber> values) {
 | 
	
		
			
				|  |  | +        base.AddRange(values, result.phone_);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearPhone() {
 | 
	
		
			
				|  |  | +        result.phone_.Clear();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> AddressesList {
 | 
	
		
			
				|  |  | +        get { return result.addresses_; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public int AddressesCount {
 | 
	
		
			
				|  |  | +        get { return result.AddressesCount; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses GetAddresses(int index) {
 | 
	
		
			
				|  |  | +        return result.GetAddresses(index);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetAddresses(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        result.addresses_[index] = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetAddresses(int index, global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        result.addresses_[index] = builderForValue.Build();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddAddresses(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        result.addresses_.Add(value);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddAddresses(global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses.Builder builderForValue) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
 | 
	
		
			
				|  |  | +        result.addresses_.Add(builderForValue.Build());
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder AddRangeAddresses(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.TestInteropPersonLite.Types.Addresses> values) {
 | 
	
		
			
				|  |  | +        base.AddRange(values, result.addresses_);
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearAddresses() {
 | 
	
		
			
				|  |  | +        result.addresses_.Clear();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static TestInteropPersonLite() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  public sealed partial class TestInteropEmployeeIdLite : pb::GeneratedMessageLite<TestInteropEmployeeIdLite, TestInteropEmployeeIdLite.Builder> {
 | 
	
		
			
				|  |  | +    private static readonly TestInteropEmployeeIdLite defaultInstance = new Builder().BuildPartial();
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite DefaultInstance {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override TestInteropEmployeeIdLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | +      get { return defaultInstance; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    protected override TestInteropEmployeeIdLite ThisMessage {
 | 
	
		
			
				|  |  | +      get { return this; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public const int NumberFieldNumber = 1;
 | 
	
		
			
				|  |  | +    private bool hasNumber;
 | 
	
		
			
				|  |  | +    private string number_ = "";
 | 
	
		
			
				|  |  | +    public bool HasNumber {
 | 
	
		
			
				|  |  | +      get { return hasNumber; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public string Number {
 | 
	
		
			
				|  |  | +      get { return number_; }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override bool IsInitialized {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        if (!hasNumber) return false;
 | 
	
		
			
				|  |  | +        return true;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override void WriteTo(pb::CodedOutputStream output) {
 | 
	
		
			
				|  |  | +      int size = SerializedSize;
 | 
	
		
			
				|  |  | +      if (HasNumber) {
 | 
	
		
			
				|  |  | +        output.WriteString(1, Number);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    private int memoizedSerializedSize = -1;
 | 
	
		
			
				|  |  | +    public override int SerializedSize {
 | 
	
		
			
				|  |  | +      get {
 | 
	
		
			
				|  |  | +        int size = memoizedSerializedSize;
 | 
	
		
			
				|  |  | +        if (size != -1) return size;
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        size = 0;
 | 
	
		
			
				|  |  | +        if (HasNumber) {
 | 
	
		
			
				|  |  | +          size += pb::CodedOutputStream.ComputeStringSize(1, Number);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        memoizedSerializedSize = size;
 | 
	
		
			
				|  |  | +        return size;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    #region Lite runtime methods
 | 
	
		
			
				|  |  | +    public override int GetHashCode() {
 | 
	
		
			
				|  |  | +      int hash = GetType().GetHashCode();
 | 
	
		
			
				|  |  | +      if (hasNumber) hash ^= number_.GetHashCode();
 | 
	
		
			
				|  |  | +      return hash;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override bool Equals(object obj) {
 | 
	
		
			
				|  |  | +      TestInteropEmployeeIdLite other = obj as TestInteropEmployeeIdLite;
 | 
	
		
			
				|  |  | +      if (other == null) return false;
 | 
	
		
			
				|  |  | +      if (hasNumber != other.hasNumber || (hasNumber && !number_.Equals(other.number_))) return false;
 | 
	
		
			
				|  |  | +      return true;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public override void PrintTo(global::System.IO.TextWriter writer) {
 | 
	
		
			
				|  |  | +      PrintField("number", hasNumber, number_, writer);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    #endregion
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(pb::ByteString data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(byte[] data) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseDelimitedFrom(global::System.IO.Stream input) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    public static TestInteropEmployeeIdLite ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    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(TestInteropEmployeeIdLite prototype) {
 | 
	
		
			
				|  |  | +      return (Builder) new Builder().MergeFrom(prototype);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    public sealed partial class Builder : pb::GeneratedBuilderLite<TestInteropEmployeeIdLite, Builder> {
 | 
	
		
			
				|  |  | +      protected override Builder ThisBuilder {
 | 
	
		
			
				|  |  | +        get { return this; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder() {}
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      TestInteropEmployeeIdLite result = new TestInteropEmployeeIdLite();
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      protected override TestInteropEmployeeIdLite MessageBeingBuilt {
 | 
	
		
			
				|  |  | +        get { return result; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder Clear() {
 | 
	
		
			
				|  |  | +        result = new TestInteropEmployeeIdLite();
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder Clone() {
 | 
	
		
			
				|  |  | +        return new Builder().MergeFrom(result);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override TestInteropEmployeeIdLite DefaultInstanceForType {
 | 
	
		
			
				|  |  | +        get { return global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite.DefaultInstance; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override TestInteropEmployeeIdLite BuildPartial() {
 | 
	
		
			
				|  |  | +        if (result == null) {
 | 
	
		
			
				|  |  | +          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TestInteropEmployeeIdLite returnMe = result;
 | 
	
		
			
				|  |  | +        result = null;
 | 
	
		
			
				|  |  | +        return returnMe;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::IMessageLite other) {
 | 
	
		
			
				|  |  | +        if (other is TestInteropEmployeeIdLite) {
 | 
	
		
			
				|  |  | +          return MergeFrom((TestInteropEmployeeIdLite) other);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          base.MergeFrom(other);
 | 
	
		
			
				|  |  | +          return this;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(TestInteropEmployeeIdLite other) {
 | 
	
		
			
				|  |  | +        if (other == global::Google.ProtocolBuffers.TestProtos.TestInteropEmployeeIdLite.DefaultInstance) return this;
 | 
	
		
			
				|  |  | +        if (other.HasNumber) {
 | 
	
		
			
				|  |  | +          Number = other.Number;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::CodedInputStream input) {
 | 
	
		
			
				|  |  | +        return MergeFrom(input, pb::ExtensionRegistry.Empty);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
 | 
	
		
			
				|  |  | +        while (true) {
 | 
	
		
			
				|  |  | +          uint tag = input.ReadTag();
 | 
	
		
			
				|  |  | +          switch (tag) {
 | 
	
		
			
				|  |  | +            case 0: {
 | 
	
		
			
				|  |  | +              return this;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            default: {
 | 
	
		
			
				|  |  | +              if (pb::WireFormat.IsEndGroupTag(tag)) {
 | 
	
		
			
				|  |  | +                return this;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              ParseUnknownField(input, extensionRegistry, tag);
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            case 10: {
 | 
	
		
			
				|  |  | +              Number = input.ReadString();
 | 
	
		
			
				|  |  | +              break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      public bool HasNumber {
 | 
	
		
			
				|  |  | +        get { return result.HasNumber; }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public string Number {
 | 
	
		
			
				|  |  | +        get { return result.Number; }
 | 
	
		
			
				|  |  | +        set { SetNumber(value); }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder SetNumber(string value) {
 | 
	
		
			
				|  |  | +        pb::ThrowHelper.ThrowIfNull(value, "value");
 | 
	
		
			
				|  |  | +        result.hasNumber = true;
 | 
	
		
			
				|  |  | +        result.number_ = value;
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      public Builder ClearNumber() {
 | 
	
		
			
				|  |  | +        result.hasNumber = false;
 | 
	
		
			
				|  |  | +        result.number_ = "";
 | 
	
		
			
				|  |  | +        return this;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    static TestInteropEmployeeIdLite() {
 | 
	
		
			
				|  |  | +      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestExtrasLiteProtoFile.Descriptor, null);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +  #endregion
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +}
 |