// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: PrivilegeNormal.proto

package pb.xiugou.x1.protobuf.privilegenormal;

public final class PrivilegeNormal {
  private PrivilegeNormal() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface PrivilegeNormalInfoResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PrivilegeNormalInfoResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData> 
        getPrivilegesList();
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getPrivileges(int index);
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    int getPrivilegesCount();
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder> 
        getPrivilegesOrBuilderList();
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder getPrivilegesOrBuilder(
        int index);

    /**
     * <pre>
     *经验池经验量
     * </pre>
     *
     * <code>int64 exp_pool = 2;</code>
     * @return The expPool.
     */
    long getExpPool();
  }
  /**
   * <pre>
   *普通特权信息
   * </pre>
   *
   * Protobuf type {@code pb.PrivilegeNormalInfoResponse}
   */
  public  static final class PrivilegeNormalInfoResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PrivilegeNormalInfoResponse)
      PrivilegeNormalInfoResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrivilegeNormalInfoResponse.newBuilder() to construct.
    private PrivilegeNormalInfoResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrivilegeNormalInfoResponse() {
      privileges_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrivilegeNormalInfoResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PrivilegeNormalInfoResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                privileges_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData>();
                mutable_bitField0_ |= 0x00000001;
              }
              privileges_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.parser(), extensionRegistry));
              break;
            }
            case 16: {

              expPool_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          privileges_ = java.util.Collections.unmodifiableList(privileges_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalInfoResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalInfoResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PrivilegeNormalInfoResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3400001;</code>
       */
      ID(3400001),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3400001;</code>
       */
      public static final int ID_VALUE = 3400001;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3400001: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PrivilegeNormalInfoResponse.Proto)
    }

    public static final int PRIVILEGES_FIELD_NUMBER = 1;
    private java.util.List<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData> privileges_;
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData> getPrivilegesList() {
      return privileges_;
    }
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder> 
        getPrivilegesOrBuilderList() {
      return privileges_;
    }
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    public int getPrivilegesCount() {
      return privileges_.size();
    }
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getPrivileges(int index) {
      return privileges_.get(index);
    }
    /**
     * <pre>
     *特权列表
     * </pre>
     *
     * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
     */
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder getPrivilegesOrBuilder(
        int index) {
      return privileges_.get(index);
    }

    public static final int EXP_POOL_FIELD_NUMBER = 2;
    private long expPool_;
    /**
     * <pre>
     *经验池经验量
     * </pre>
     *
     * <code>int64 exp_pool = 2;</code>
     * @return The expPool.
     */
    public long getExpPool() {
      return expPool_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < privileges_.size(); i++) {
        output.writeMessage(1, privileges_.get(i));
      }
      if (expPool_ != 0L) {
        output.writeInt64(2, expPool_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < privileges_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, privileges_.get(i));
      }
      if (expPool_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, expPool_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse other = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse) obj;

      if (!getPrivilegesList()
          .equals(other.getPrivilegesList())) return false;
      if (getExpPool()
          != other.getExpPool()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getPrivilegesCount() > 0) {
        hash = (37 * hash) + PRIVILEGES_FIELD_NUMBER;
        hash = (53 * hash) + getPrivilegesList().hashCode();
      }
      hash = (37 * hash) + EXP_POOL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getExpPool());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *普通特权信息
     * </pre>
     *
     * Protobuf type {@code pb.PrivilegeNormalInfoResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PrivilegeNormalInfoResponse)
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalInfoResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalInfoResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getPrivilegesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (privilegesBuilder_ == null) {
          privileges_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          privilegesBuilder_.clear();
        }
        expPool_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalInfoResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse build() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse buildPartial() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse result = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse(this);
        int from_bitField0_ = bitField0_;
        if (privilegesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            privileges_ = java.util.Collections.unmodifiableList(privileges_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.privileges_ = privileges_;
        } else {
          result.privileges_ = privilegesBuilder_.build();
        }
        result.expPool_ = expPool_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse other) {
        if (other == pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse.getDefaultInstance()) return this;
        if (privilegesBuilder_ == null) {
          if (!other.privileges_.isEmpty()) {
            if (privileges_.isEmpty()) {
              privileges_ = other.privileges_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensurePrivilegesIsMutable();
              privileges_.addAll(other.privileges_);
            }
            onChanged();
          }
        } else {
          if (!other.privileges_.isEmpty()) {
            if (privilegesBuilder_.isEmpty()) {
              privilegesBuilder_.dispose();
              privilegesBuilder_ = null;
              privileges_ = other.privileges_;
              bitField0_ = (bitField0_ & ~0x00000001);
              privilegesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getPrivilegesFieldBuilder() : null;
            } else {
              privilegesBuilder_.addAllMessages(other.privileges_);
            }
          }
        }
        if (other.getExpPool() != 0L) {
          setExpPool(other.getExpPool());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData> privileges_ =
        java.util.Collections.emptyList();
      private void ensurePrivilegesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          privileges_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData>(privileges_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder> privilegesBuilder_;

      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData> getPrivilegesList() {
        if (privilegesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(privileges_);
        } else {
          return privilegesBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public int getPrivilegesCount() {
        if (privilegesBuilder_ == null) {
          return privileges_.size();
        } else {
          return privilegesBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getPrivileges(int index) {
        if (privilegesBuilder_ == null) {
          return privileges_.get(index);
        } else {
          return privilegesBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder setPrivileges(
          int index, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData value) {
        if (privilegesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrivilegesIsMutable();
          privileges_.set(index, value);
          onChanged();
        } else {
          privilegesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder setPrivileges(
          int index, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder builderForValue) {
        if (privilegesBuilder_ == null) {
          ensurePrivilegesIsMutable();
          privileges_.set(index, builderForValue.build());
          onChanged();
        } else {
          privilegesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder addPrivileges(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData value) {
        if (privilegesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrivilegesIsMutable();
          privileges_.add(value);
          onChanged();
        } else {
          privilegesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder addPrivileges(
          int index, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData value) {
        if (privilegesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrivilegesIsMutable();
          privileges_.add(index, value);
          onChanged();
        } else {
          privilegesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder addPrivileges(
          pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder builderForValue) {
        if (privilegesBuilder_ == null) {
          ensurePrivilegesIsMutable();
          privileges_.add(builderForValue.build());
          onChanged();
        } else {
          privilegesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder addPrivileges(
          int index, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder builderForValue) {
        if (privilegesBuilder_ == null) {
          ensurePrivilegesIsMutable();
          privileges_.add(index, builderForValue.build());
          onChanged();
        } else {
          privilegesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder addAllPrivileges(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData> values) {
        if (privilegesBuilder_ == null) {
          ensurePrivilegesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, privileges_);
          onChanged();
        } else {
          privilegesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder clearPrivileges() {
        if (privilegesBuilder_ == null) {
          privileges_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          privilegesBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public Builder removePrivileges(int index) {
        if (privilegesBuilder_ == null) {
          ensurePrivilegesIsMutable();
          privileges_.remove(index);
          onChanged();
        } else {
          privilegesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder getPrivilegesBuilder(
          int index) {
        return getPrivilegesFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder getPrivilegesOrBuilder(
          int index) {
        if (privilegesBuilder_ == null) {
          return privileges_.get(index);  } else {
          return privilegesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder> 
           getPrivilegesOrBuilderList() {
        if (privilegesBuilder_ != null) {
          return privilegesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(privileges_);
        }
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder addPrivilegesBuilder() {
        return getPrivilegesFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.getDefaultInstance());
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder addPrivilegesBuilder(
          int index) {
        return getPrivilegesFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.getDefaultInstance());
      }
      /**
       * <pre>
       *特权列表
       * </pre>
       *
       * <code>repeated .pb.PbPrivilegeNormalData privileges = 1;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder> 
           getPrivilegesBuilderList() {
        return getPrivilegesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder> 
          getPrivilegesFieldBuilder() {
        if (privilegesBuilder_ == null) {
          privilegesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder>(
                  privileges_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          privileges_ = null;
        }
        return privilegesBuilder_;
      }

      private long expPool_ ;
      /**
       * <pre>
       *经验池经验量
       * </pre>
       *
       * <code>int64 exp_pool = 2;</code>
       * @return The expPool.
       */
      public long getExpPool() {
        return expPool_;
      }
      /**
       * <pre>
       *经验池经验量
       * </pre>
       *
       * <code>int64 exp_pool = 2;</code>
       * @param value The expPool to set.
       * @return This builder for chaining.
       */
      public Builder setExpPool(long value) {
        
        expPool_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *经验池经验量
       * </pre>
       *
       * <code>int64 exp_pool = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearExpPool() {
        
        expPool_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PrivilegeNormalInfoResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.PrivilegeNormalInfoResponse)
    private static final pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse();
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrivilegeNormalInfoResponse>
        PARSER = new com.google.protobuf.AbstractParser<PrivilegeNormalInfoResponse>() {
      @java.lang.Override
      public PrivilegeNormalInfoResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PrivilegeNormalInfoResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PrivilegeNormalInfoResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrivilegeNormalInfoResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalInfoResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrivilegeNormalTakeRewardRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PrivilegeNormalTakeRewardRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *特权ID
     * </pre>
     *
     * <code>int32 privilege_id = 1;</code>
     * @return The privilegeId.
     */
    int getPrivilegeId();
  }
  /**
   * <pre>
   *领取特权每日奖励
   * </pre>
   *
   * Protobuf type {@code pb.PrivilegeNormalTakeRewardRequest}
   */
  public  static final class PrivilegeNormalTakeRewardRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PrivilegeNormalTakeRewardRequest)
      PrivilegeNormalTakeRewardRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrivilegeNormalTakeRewardRequest.newBuilder() to construct.
    private PrivilegeNormalTakeRewardRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrivilegeNormalTakeRewardRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrivilegeNormalTakeRewardRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PrivilegeNormalTakeRewardRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              privilegeId_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PrivilegeNormalTakeRewardRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3400002;</code>
       */
      ID(3400002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3400002;</code>
       */
      public static final int ID_VALUE = 3400002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3400002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PrivilegeNormalTakeRewardRequest.Proto)
    }

    public static final int PRIVILEGE_ID_FIELD_NUMBER = 1;
    private int privilegeId_;
    /**
     * <pre>
     *特权ID
     * </pre>
     *
     * <code>int32 privilege_id = 1;</code>
     * @return The privilegeId.
     */
    public int getPrivilegeId() {
      return privilegeId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (privilegeId_ != 0) {
        output.writeInt32(1, privilegeId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (privilegeId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, privilegeId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest other = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest) obj;

      if (getPrivilegeId()
          != other.getPrivilegeId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PRIVILEGE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getPrivilegeId();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *领取特权每日奖励
     * </pre>
     *
     * Protobuf type {@code pb.PrivilegeNormalTakeRewardRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PrivilegeNormalTakeRewardRequest)
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        privilegeId_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest build() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest buildPartial() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest result = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest(this);
        result.privilegeId_ = privilegeId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest other) {
        if (other == pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest.getDefaultInstance()) return this;
        if (other.getPrivilegeId() != 0) {
          setPrivilegeId(other.getPrivilegeId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int privilegeId_ ;
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 privilege_id = 1;</code>
       * @return The privilegeId.
       */
      public int getPrivilegeId() {
        return privilegeId_;
      }
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 privilege_id = 1;</code>
       * @param value The privilegeId to set.
       * @return This builder for chaining.
       */
      public Builder setPrivilegeId(int value) {
        
        privilegeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 privilege_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPrivilegeId() {
        
        privilegeId_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PrivilegeNormalTakeRewardRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.PrivilegeNormalTakeRewardRequest)
    private static final pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest();
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrivilegeNormalTakeRewardRequest>
        PARSER = new com.google.protobuf.AbstractParser<PrivilegeNormalTakeRewardRequest>() {
      @java.lang.Override
      public PrivilegeNormalTakeRewardRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PrivilegeNormalTakeRewardRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PrivilegeNormalTakeRewardRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrivilegeNormalTakeRewardRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrivilegeNormalTakeRewardResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PrivilegeNormalTakeRewardResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *特权ID
     * </pre>
     *
     * <code>int32 privilege_id = 1;</code>
     * @return The privilegeId.
     */
    int getPrivilegeId();
  }
  /**
   * Protobuf type {@code pb.PrivilegeNormalTakeRewardResponse}
   */
  public  static final class PrivilegeNormalTakeRewardResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PrivilegeNormalTakeRewardResponse)
      PrivilegeNormalTakeRewardResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrivilegeNormalTakeRewardResponse.newBuilder() to construct.
    private PrivilegeNormalTakeRewardResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrivilegeNormalTakeRewardResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrivilegeNormalTakeRewardResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PrivilegeNormalTakeRewardResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              privilegeId_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PrivilegeNormalTakeRewardResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3400002;</code>
       */
      ID(3400002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3400002;</code>
       */
      public static final int ID_VALUE = 3400002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3400002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PrivilegeNormalTakeRewardResponse.Proto)
    }

    public static final int PRIVILEGE_ID_FIELD_NUMBER = 1;
    private int privilegeId_;
    /**
     * <pre>
     *特权ID
     * </pre>
     *
     * <code>int32 privilege_id = 1;</code>
     * @return The privilegeId.
     */
    public int getPrivilegeId() {
      return privilegeId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (privilegeId_ != 0) {
        output.writeInt32(1, privilegeId_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (privilegeId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, privilegeId_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse other = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse) obj;

      if (getPrivilegeId()
          != other.getPrivilegeId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PRIVILEGE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getPrivilegeId();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.PrivilegeNormalTakeRewardResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PrivilegeNormalTakeRewardResponse)
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        privilegeId_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeRewardResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse build() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse buildPartial() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse result = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse(this);
        result.privilegeId_ = privilegeId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse other) {
        if (other == pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse.getDefaultInstance()) return this;
        if (other.getPrivilegeId() != 0) {
          setPrivilegeId(other.getPrivilegeId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int privilegeId_ ;
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 privilege_id = 1;</code>
       * @return The privilegeId.
       */
      public int getPrivilegeId() {
        return privilegeId_;
      }
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 privilege_id = 1;</code>
       * @param value The privilegeId to set.
       * @return This builder for chaining.
       */
      public Builder setPrivilegeId(int value) {
        
        privilegeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 privilege_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPrivilegeId() {
        
        privilegeId_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PrivilegeNormalTakeRewardResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.PrivilegeNormalTakeRewardResponse)
    private static final pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse();
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrivilegeNormalTakeRewardResponse>
        PARSER = new com.google.protobuf.AbstractParser<PrivilegeNormalTakeRewardResponse>() {
      @java.lang.Override
      public PrivilegeNormalTakeRewardResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PrivilegeNormalTakeRewardResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PrivilegeNormalTakeRewardResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrivilegeNormalTakeRewardResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeRewardResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrivilegeNormalTakeExpRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PrivilegeNormalTakeExpRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   *领取经验池奖励
   * </pre>
   *
   * Protobuf type {@code pb.PrivilegeNormalTakeExpRequest}
   */
  public  static final class PrivilegeNormalTakeExpRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PrivilegeNormalTakeExpRequest)
      PrivilegeNormalTakeExpRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrivilegeNormalTakeExpRequest.newBuilder() to construct.
    private PrivilegeNormalTakeExpRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrivilegeNormalTakeExpRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrivilegeNormalTakeExpRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PrivilegeNormalTakeExpRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PrivilegeNormalTakeExpRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3400003;</code>
       */
      ID(3400003),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3400003;</code>
       */
      public static final int ID_VALUE = 3400003;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3400003: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PrivilegeNormalTakeExpRequest.Proto)
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest other = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest) obj;

      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *领取经验池奖励
     * </pre>
     *
     * Protobuf type {@code pb.PrivilegeNormalTakeExpRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PrivilegeNormalTakeExpRequest)
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest build() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest buildPartial() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest result = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest other) {
        if (other == pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PrivilegeNormalTakeExpRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.PrivilegeNormalTakeExpRequest)
    private static final pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest();
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrivilegeNormalTakeExpRequest>
        PARSER = new com.google.protobuf.AbstractParser<PrivilegeNormalTakeExpRequest>() {
      @java.lang.Override
      public PrivilegeNormalTakeExpRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PrivilegeNormalTakeExpRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PrivilegeNormalTakeExpRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrivilegeNormalTakeExpRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrivilegeNormalTakeExpResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PrivilegeNormalTakeExpResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *经验池经验量
     * </pre>
     *
     * <code>int64 exp_pool = 1;</code>
     * @return The expPool.
     */
    long getExpPool();
  }
  /**
   * Protobuf type {@code pb.PrivilegeNormalTakeExpResponse}
   */
  public  static final class PrivilegeNormalTakeExpResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PrivilegeNormalTakeExpResponse)
      PrivilegeNormalTakeExpResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrivilegeNormalTakeExpResponse.newBuilder() to construct.
    private PrivilegeNormalTakeExpResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrivilegeNormalTakeExpResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrivilegeNormalTakeExpResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PrivilegeNormalTakeExpResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              expPool_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PrivilegeNormalTakeExpResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3400003;</code>
       */
      ID(3400003),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3400003;</code>
       */
      public static final int ID_VALUE = 3400003;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3400003: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PrivilegeNormalTakeExpResponse.Proto)
    }

    public static final int EXP_POOL_FIELD_NUMBER = 1;
    private long expPool_;
    /**
     * <pre>
     *经验池经验量
     * </pre>
     *
     * <code>int64 exp_pool = 1;</code>
     * @return The expPool.
     */
    public long getExpPool() {
      return expPool_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (expPool_ != 0L) {
        output.writeInt64(1, expPool_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (expPool_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, expPool_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse other = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse) obj;

      if (getExpPool()
          != other.getExpPool()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + EXP_POOL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getExpPool());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.PrivilegeNormalTakeExpResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PrivilegeNormalTakeExpResponse)
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        expPool_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalTakeExpResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse build() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse buildPartial() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse result = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse(this);
        result.expPool_ = expPool_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse other) {
        if (other == pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse.getDefaultInstance()) return this;
        if (other.getExpPool() != 0L) {
          setExpPool(other.getExpPool());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long expPool_ ;
      /**
       * <pre>
       *经验池经验量
       * </pre>
       *
       * <code>int64 exp_pool = 1;</code>
       * @return The expPool.
       */
      public long getExpPool() {
        return expPool_;
      }
      /**
       * <pre>
       *经验池经验量
       * </pre>
       *
       * <code>int64 exp_pool = 1;</code>
       * @param value The expPool to set.
       * @return This builder for chaining.
       */
      public Builder setExpPool(long value) {
        
        expPool_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *经验池经验量
       * </pre>
       *
       * <code>int64 exp_pool = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearExpPool() {
        
        expPool_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PrivilegeNormalTakeExpResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.PrivilegeNormalTakeExpResponse)
    private static final pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse();
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrivilegeNormalTakeExpResponse>
        PARSER = new com.google.protobuf.AbstractParser<PrivilegeNormalTakeExpResponse>() {
      @java.lang.Override
      public PrivilegeNormalTakeExpResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PrivilegeNormalTakeExpResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PrivilegeNormalTakeExpResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrivilegeNormalTakeExpResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalTakeExpResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrivilegeNormalRechargeMessageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PrivilegeNormalRechargeMessage)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *特权
     * </pre>
     *
     * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
     * @return Whether the privilege field is set.
     */
    boolean hasPrivilege();
    /**
     * <pre>
     *特权
     * </pre>
     *
     * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
     * @return The privilege.
     */
    pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getPrivilege();
    /**
     * <pre>
     *特权
     * </pre>
     *
     * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
     */
    pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder getPrivilegeOrBuilder();
  }
  /**
   * <pre>
   *充值成功推送
   * </pre>
   *
   * Protobuf type {@code pb.PrivilegeNormalRechargeMessage}
   */
  public  static final class PrivilegeNormalRechargeMessage extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PrivilegeNormalRechargeMessage)
      PrivilegeNormalRechargeMessageOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrivilegeNormalRechargeMessage.newBuilder() to construct.
    private PrivilegeNormalRechargeMessage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrivilegeNormalRechargeMessage() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrivilegeNormalRechargeMessage();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PrivilegeNormalRechargeMessage(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder subBuilder = null;
              if (privilege_ != null) {
                subBuilder = privilege_.toBuilder();
              }
              privilege_ = input.readMessage(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(privilege_);
                privilege_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalRechargeMessage_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalRechargeMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.PrivilegeNormalRechargeMessage.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 3400004;</code>
       */
      ID(3400004),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 3400004;</code>
       */
      public static final int ID_VALUE = 3400004;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 3400004: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.PrivilegeNormalRechargeMessage.Proto)
    }

    public static final int PRIVILEGE_FIELD_NUMBER = 1;
    private pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData privilege_;
    /**
     * <pre>
     *特权
     * </pre>
     *
     * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
     * @return Whether the privilege field is set.
     */
    public boolean hasPrivilege() {
      return privilege_ != null;
    }
    /**
     * <pre>
     *特权
     * </pre>
     *
     * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
     * @return The privilege.
     */
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getPrivilege() {
      return privilege_ == null ? pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.getDefaultInstance() : privilege_;
    }
    /**
     * <pre>
     *特权
     * </pre>
     *
     * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
     */
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder getPrivilegeOrBuilder() {
      return getPrivilege();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (privilege_ != null) {
        output.writeMessage(1, getPrivilege());
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (privilege_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getPrivilege());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage other = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage) obj;

      if (hasPrivilege() != other.hasPrivilege()) return false;
      if (hasPrivilege()) {
        if (!getPrivilege()
            .equals(other.getPrivilege())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPrivilege()) {
        hash = (37 * hash) + PRIVILEGE_FIELD_NUMBER;
        hash = (53 * hash) + getPrivilege().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *充值成功推送
     * </pre>
     *
     * Protobuf type {@code pb.PrivilegeNormalRechargeMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PrivilegeNormalRechargeMessage)
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalRechargeMessage_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalRechargeMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (privilegeBuilder_ == null) {
          privilege_ = null;
        } else {
          privilege_ = null;
          privilegeBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PrivilegeNormalRechargeMessage_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage build() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage buildPartial() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage result = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage(this);
        if (privilegeBuilder_ == null) {
          result.privilege_ = privilege_;
        } else {
          result.privilege_ = privilegeBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage) {
          return mergeFrom((pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage other) {
        if (other == pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage.getDefaultInstance()) return this;
        if (other.hasPrivilege()) {
          mergePrivilege(other.getPrivilege());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData privilege_;
      private com.google.protobuf.SingleFieldBuilderV3<
          pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder> privilegeBuilder_;
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       * @return Whether the privilege field is set.
       */
      public boolean hasPrivilege() {
        return privilegeBuilder_ != null || privilege_ != null;
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       * @return The privilege.
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getPrivilege() {
        if (privilegeBuilder_ == null) {
          return privilege_ == null ? pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.getDefaultInstance() : privilege_;
        } else {
          return privilegeBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       */
      public Builder setPrivilege(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData value) {
        if (privilegeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          privilege_ = value;
          onChanged();
        } else {
          privilegeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       */
      public Builder setPrivilege(
          pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder builderForValue) {
        if (privilegeBuilder_ == null) {
          privilege_ = builderForValue.build();
          onChanged();
        } else {
          privilegeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       */
      public Builder mergePrivilege(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData value) {
        if (privilegeBuilder_ == null) {
          if (privilege_ != null) {
            privilege_ =
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.newBuilder(privilege_).mergeFrom(value).buildPartial();
          } else {
            privilege_ = value;
          }
          onChanged();
        } else {
          privilegeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       */
      public Builder clearPrivilege() {
        if (privilegeBuilder_ == null) {
          privilege_ = null;
          onChanged();
        } else {
          privilege_ = null;
          privilegeBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder getPrivilegeBuilder() {
        
        onChanged();
        return getPrivilegeFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       */
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder getPrivilegeOrBuilder() {
        if (privilegeBuilder_ != null) {
          return privilegeBuilder_.getMessageOrBuilder();
        } else {
          return privilege_ == null ?
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.getDefaultInstance() : privilege_;
        }
      }
      /**
       * <pre>
       *特权
       * </pre>
       *
       * <code>.pb.PbPrivilegeNormalData privilege = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder> 
          getPrivilegeFieldBuilder() {
        if (privilegeBuilder_ == null) {
          privilegeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder>(
                  getPrivilege(),
                  getParentForChildren(),
                  isClean());
          privilege_ = null;
        }
        return privilegeBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PrivilegeNormalRechargeMessage)
    }

    // @@protoc_insertion_point(class_scope:pb.PrivilegeNormalRechargeMessage)
    private static final pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage();
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrivilegeNormalRechargeMessage>
        PARSER = new com.google.protobuf.AbstractParser<PrivilegeNormalRechargeMessage>() {
      @java.lang.Override
      public PrivilegeNormalRechargeMessage parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PrivilegeNormalRechargeMessage(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PrivilegeNormalRechargeMessage> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrivilegeNormalRechargeMessage> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PrivilegeNormalRechargeMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PbPrivilegeNormalDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PbPrivilegeNormalData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *特权ID
     * </pre>
     *
     * <code>int32 id = 1;</code>
     * @return The id.
     */
    int getId();

    /**
     * <pre>
     *今日特权奖励是否已经领取
     * </pre>
     *
     * <code>bool rewarded = 2;</code>
     * @return The rewarded.
     */
    boolean getRewarded();

    /**
     * <pre>
     *特权失效时间，毫秒，0表示永久生效
     * </pre>
     *
     * <code>int64 end_time = 3;</code>
     * @return The endTime.
     */
    long getEndTime();
  }
  /**
   * Protobuf type {@code pb.PbPrivilegeNormalData}
   */
  public  static final class PbPrivilegeNormalData extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PbPrivilegeNormalData)
      PbPrivilegeNormalDataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PbPrivilegeNormalData.newBuilder() to construct.
    private PbPrivilegeNormalData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PbPrivilegeNormalData() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PbPrivilegeNormalData();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PbPrivilegeNormalData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt32();
              break;
            }
            case 16: {

              rewarded_ = input.readBool();
              break;
            }
            case 24: {

              endTime_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PbPrivilegeNormalData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PbPrivilegeNormalData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private int id_;
    /**
     * <pre>
     *特权ID
     * </pre>
     *
     * <code>int32 id = 1;</code>
     * @return The id.
     */
    public int getId() {
      return id_;
    }

    public static final int REWARDED_FIELD_NUMBER = 2;
    private boolean rewarded_;
    /**
     * <pre>
     *今日特权奖励是否已经领取
     * </pre>
     *
     * <code>bool rewarded = 2;</code>
     * @return The rewarded.
     */
    public boolean getRewarded() {
      return rewarded_;
    }

    public static final int END_TIME_FIELD_NUMBER = 3;
    private long endTime_;
    /**
     * <pre>
     *特权失效时间，毫秒，0表示永久生效
     * </pre>
     *
     * <code>int64 end_time = 3;</code>
     * @return The endTime.
     */
    public long getEndTime() {
      return endTime_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0) {
        output.writeInt32(1, id_);
      }
      if (rewarded_ != false) {
        output.writeBool(2, rewarded_);
      }
      if (endTime_ != 0L) {
        output.writeInt64(3, endTime_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, id_);
      }
      if (rewarded_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, rewarded_);
      }
      if (endTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, endTime_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData other = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData) obj;

      if (getId()
          != other.getId()) return false;
      if (getRewarded()
          != other.getRewarded()) return false;
      if (getEndTime()
          != other.getEndTime()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId();
      hash = (37 * hash) + REWARDED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getRewarded());
      hash = (37 * hash) + END_TIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEndTime());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.PbPrivilegeNormalData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PbPrivilegeNormalData)
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PbPrivilegeNormalData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PbPrivilegeNormalData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.class, pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0;

        rewarded_ = false;

        endTime_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.internal_static_pb_PbPrivilegeNormalData_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData build() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData buildPartial() {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData result = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData(this);
        result.id_ = id_;
        result.rewarded_ = rewarded_;
        result.endTime_ = endTime_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData) {
          return mergeFrom((pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData other) {
        if (other == pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData.getDefaultInstance()) return this;
        if (other.getId() != 0) {
          setId(other.getId());
        }
        if (other.getRewarded() != false) {
          setRewarded(other.getRewarded());
        }
        if (other.getEndTime() != 0L) {
          setEndTime(other.getEndTime());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int id_ ;
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 id = 1;</code>
       * @return The id.
       */
      public int getId() {
        return id_;
      }
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(int value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *特权ID
       * </pre>
       *
       * <code>int32 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0;
        onChanged();
        return this;
      }

      private boolean rewarded_ ;
      /**
       * <pre>
       *今日特权奖励是否已经领取
       * </pre>
       *
       * <code>bool rewarded = 2;</code>
       * @return The rewarded.
       */
      public boolean getRewarded() {
        return rewarded_;
      }
      /**
       * <pre>
       *今日特权奖励是否已经领取
       * </pre>
       *
       * <code>bool rewarded = 2;</code>
       * @param value The rewarded to set.
       * @return This builder for chaining.
       */
      public Builder setRewarded(boolean value) {
        
        rewarded_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *今日特权奖励是否已经领取
       * </pre>
       *
       * <code>bool rewarded = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRewarded() {
        
        rewarded_ = false;
        onChanged();
        return this;
      }

      private long endTime_ ;
      /**
       * <pre>
       *特权失效时间，毫秒，0表示永久生效
       * </pre>
       *
       * <code>int64 end_time = 3;</code>
       * @return The endTime.
       */
      public long getEndTime() {
        return endTime_;
      }
      /**
       * <pre>
       *特权失效时间，毫秒，0表示永久生效
       * </pre>
       *
       * <code>int64 end_time = 3;</code>
       * @param value The endTime to set.
       * @return This builder for chaining.
       */
      public Builder setEndTime(long value) {
        
        endTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *特权失效时间，毫秒，0表示永久生效
       * </pre>
       *
       * <code>int64 end_time = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEndTime() {
        
        endTime_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PbPrivilegeNormalData)
    }

    // @@protoc_insertion_point(class_scope:pb.PbPrivilegeNormalData)
    private static final pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData();
    }

    public static pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PbPrivilegeNormalData>
        PARSER = new com.google.protobuf.AbstractParser<PbPrivilegeNormalData>() {
      @java.lang.Override
      public PbPrivilegeNormalData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PbPrivilegeNormalData(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PbPrivilegeNormalData> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PbPrivilegeNormalData> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.privilegenormal.PrivilegeNormal.PbPrivilegeNormalData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PrivilegeNormalInfoResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PrivilegeNormalInfoResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PrivilegeNormalTakeRewardRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PrivilegeNormalTakeRewardRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PrivilegeNormalTakeRewardResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PrivilegeNormalTakeRewardResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PrivilegeNormalTakeExpRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PrivilegeNormalTakeExpRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PrivilegeNormalTakeExpResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PrivilegeNormalTakeExpResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PrivilegeNormalRechargeMessage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PrivilegeNormalRechargeMessage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PbPrivilegeNormalData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PbPrivilegeNormalData_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\025PrivilegeNormal.proto\022\002pb\"\177\n\033Privilege" +
      "NormalInfoResponse\022-\n\nprivileges\030\001 \003(\0132\031" +
      ".pb.PbPrivilegeNormalData\022\020\n\010exp_pool\030\002 " +
      "\001(\003\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\301\302\317\001\"Y\n " +
      "PrivilegeNormalTakeRewardRequest\022\024\n\014priv" +
      "ilege_id\030\001 \001(\005\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002" +
      "ID\020\302\302\317\001\"Z\n!PrivilegeNormalTakeRewardResp" +
      "onse\022\024\n\014privilege_id\030\001 \001(\005\"\037\n\005Proto\022\013\n\007U" +
      "NKNOWN\020\000\022\t\n\002ID\020\302\302\317\001\"@\n\035PrivilegeNormalTa" +
      "keExpRequest\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID" +
      "\020\303\302\317\001\"S\n\036PrivilegeNormalTakeExpResponse\022" +
      "\020\n\010exp_pool\030\001 \001(\003\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022" +
      "\t\n\002ID\020\303\302\317\001\"o\n\036PrivilegeNormalRechargeMes" +
      "sage\022,\n\tprivilege\030\001 \001(\0132\031.pb.PbPrivilege" +
      "NormalData\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\304" +
      "\302\317\001\"G\n\025PbPrivilegeNormalData\022\n\n\002id\030\001 \001(\005" +
      "\022\020\n\010rewarded\030\002 \001(\010\022\020\n\010end_time\030\003 \001(\003B?\n%" +
      "pb.xiugou.x1.protobuf.privilegenormal\252\002\025" +
      "pb.xiugou.x1.protobufb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_pb_PrivilegeNormalInfoResponse_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_pb_PrivilegeNormalInfoResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PrivilegeNormalInfoResponse_descriptor,
        new java.lang.String[] { "Privileges", "ExpPool", });
    internal_static_pb_PrivilegeNormalTakeRewardRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_pb_PrivilegeNormalTakeRewardRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PrivilegeNormalTakeRewardRequest_descriptor,
        new java.lang.String[] { "PrivilegeId", });
    internal_static_pb_PrivilegeNormalTakeRewardResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_pb_PrivilegeNormalTakeRewardResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PrivilegeNormalTakeRewardResponse_descriptor,
        new java.lang.String[] { "PrivilegeId", });
    internal_static_pb_PrivilegeNormalTakeExpRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_pb_PrivilegeNormalTakeExpRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PrivilegeNormalTakeExpRequest_descriptor,
        new java.lang.String[] { });
    internal_static_pb_PrivilegeNormalTakeExpResponse_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_pb_PrivilegeNormalTakeExpResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PrivilegeNormalTakeExpResponse_descriptor,
        new java.lang.String[] { "ExpPool", });
    internal_static_pb_PrivilegeNormalRechargeMessage_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_pb_PrivilegeNormalRechargeMessage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PrivilegeNormalRechargeMessage_descriptor,
        new java.lang.String[] { "Privilege", });
    internal_static_pb_PbPrivilegeNormalData_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_pb_PbPrivilegeNormalData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PbPrivilegeNormalData_descriptor,
        new java.lang.String[] { "Id", "Rewarded", "EndTime", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
