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

package io.grasscutter.net.proto.social;

/**
 * Protobuf type {@code FriendBrief}
 */
public final class FriendBrief extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:FriendBrief)
    FriendBriefOrBuilder {
private static final long serialVersionUID = 0L;
  // Use FriendBrief.newBuilder() to construct.
  private FriendBrief(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private FriendBrief() {
    nickname_ = "";
    remarkName_ = "";
    signature_ = "";
    lBKDGOEFEBC_ = "";
    iJLHLCLLENE_ = "";
    onlineId_ = "";
    showAvatarInfoList_ = java.util.Collections.emptyList();
    onlineState_ = 0;
    deviceInfo_ = 0;
    friendEnterHomeOption_ = 0;
  }

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

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private FriendBrief(
      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 8: {

            uid_ = input.readUInt32();
            break;
          }
          case 18: {
            java.lang.String s = input.readStringRequireUtf8();

            nickname_ = s;
            break;
          }
          case 24: {

            level_ = input.readUInt32();
            break;
          }
          case 32: {

            avatarId_ = input.readUInt32();
            break;
          }
          case 40: {

            worldLevel_ = input.readUInt32();
            break;
          }
          case 50: {
            java.lang.String s = input.readStringRequireUtf8();

            signature_ = s;
            break;
          }
          case 56: {
            int rawValue = input.readEnum();

            onlineState_ = rawValue;
            break;
          }
          case 64: {

            param_ = input.readUInt32();
            break;
          }
          case 80: {

            isMpModeAvailable_ = input.readBool();
            break;
          }
          case 90: {
            java.lang.String s = input.readStringRequireUtf8();

            onlineId_ = s;
            break;
          }
          case 96: {

            lastActiveTime_ = input.readUInt32();
            break;
          }
          case 104: {

            nameCardId_ = input.readUInt32();
            break;
          }
          case 112: {

            mpPlayerNum_ = input.readUInt32();
            break;
          }
          case 120: {

            isChatNoDisturb_ = input.readBool();
            break;
          }
          case 128: {

            chatSequence_ = input.readUInt32();
            break;
          }
          case 138: {
            java.lang.String s = input.readStringRequireUtf8();

            remarkName_ = s;
            break;
          }
          case 178: {
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              showAvatarInfoList_ = new java.util.ArrayList<io.grasscutter.net.proto.social.SocialShowAvatarInfo>();
              mutable_bitField0_ |= 0x00000001;
            }
            showAvatarInfoList_.add(
                input.readMessage(io.grasscutter.net.proto.social.SocialShowAvatarInfo.parser(), extensionRegistry));
            break;
          }
          case 184: {
            int rawValue = input.readEnum();

            friendEnterHomeOption_ = rawValue;
            break;
          }
          case 194: {
            io.grasscutter.net.proto.define.ProfilePicture.Builder subBuilder = null;
            if (profilePicture_ != null) {
              subBuilder = profilePicture_.toBuilder();
            }
            profilePicture_ = input.readMessage(io.grasscutter.net.proto.define.ProfilePicture.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(profilePicture_);
              profilePicture_ = subBuilder.buildPartial();
            }

            break;
          }
          case 200: {

            isGameSource_ = input.readBool();
            break;
          }
          case 208: {

            isPsnSource_ = input.readBool();
            break;
          }
          case 216: {
            int rawValue = input.readEnum();

            deviceInfo_ = rawValue;
            break;
          }
          case 224: {

            dPLLLEKLOEI_ = input.readBool();
            break;
          }
          case 232: {

            nEANBGINFPF_ = input.readBool();
            break;
          }
          case 240: {

            jADDAKOJMBB_ = input.readBool();
            break;
          }
          case 250: {
            java.lang.String s = input.readStringRequireUtf8();

            iJLHLCLLENE_ = s;
            break;
          }
          case 258: {
            java.lang.String s = input.readStringRequireUtf8();

            lBKDGOEFEBC_ = s;
            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)) {
        showAvatarInfoList_ = java.util.Collections.unmodifiableList(showAvatarInfoList_);
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.grasscutter.net.proto.social.Social.internal_static_FriendBrief_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return io.grasscutter.net.proto.social.Social.internal_static_FriendBrief_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            io.grasscutter.net.proto.social.FriendBrief.class, io.grasscutter.net.proto.social.FriendBrief.Builder.class);
  }

  public static final int NICKNAME_FIELD_NUMBER = 2;
  private volatile java.lang.Object nickname_;
  /**
   * <code>string nickname = 2;</code>
   * @return The nickname.
   */
  @java.lang.Override
  public java.lang.String getNickname() {
    java.lang.Object ref = nickname_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      nickname_ = s;
      return s;
    }
  }
  /**
   * <code>string nickname = 2;</code>
   * @return The bytes for nickname.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getNicknameBytes() {
    java.lang.Object ref = nickname_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      nickname_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int REMARK_NAME_FIELD_NUMBER = 17;
  private volatile java.lang.Object remarkName_;
  /**
   * <code>string remark_name = 17;</code>
   * @return The remarkName.
   */
  @java.lang.Override
  public java.lang.String getRemarkName() {
    java.lang.Object ref = remarkName_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      remarkName_ = s;
      return s;
    }
  }
  /**
   * <code>string remark_name = 17;</code>
   * @return The bytes for remarkName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getRemarkNameBytes() {
    java.lang.Object ref = remarkName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      remarkName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SIGNATURE_FIELD_NUMBER = 6;
  private volatile java.lang.Object signature_;
  /**
   * <code>string signature = 6;</code>
   * @return The signature.
   */
  @java.lang.Override
  public java.lang.String getSignature() {
    java.lang.Object ref = signature_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      signature_ = s;
      return s;
    }
  }
  /**
   * <code>string signature = 6;</code>
   * @return The bytes for signature.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getSignatureBytes() {
    java.lang.Object ref = signature_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      signature_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int LBKDGOEFEBC_FIELD_NUMBER = 32;
  private volatile java.lang.Object lBKDGOEFEBC_;
  /**
   * <code>string LBKDGOEFEBC = 32;</code>
   * @return The lBKDGOEFEBC.
   */
  @java.lang.Override
  public java.lang.String getLBKDGOEFEBC() {
    java.lang.Object ref = lBKDGOEFEBC_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      lBKDGOEFEBC_ = s;
      return s;
    }
  }
  /**
   * <code>string LBKDGOEFEBC = 32;</code>
   * @return The bytes for lBKDGOEFEBC.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getLBKDGOEFEBCBytes() {
    java.lang.Object ref = lBKDGOEFEBC_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      lBKDGOEFEBC_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int IJLHLCLLENE_FIELD_NUMBER = 31;
  private volatile java.lang.Object iJLHLCLLENE_;
  /**
   * <code>string IJLHLCLLENE = 31;</code>
   * @return The iJLHLCLLENE.
   */
  @java.lang.Override
  public java.lang.String getIJLHLCLLENE() {
    java.lang.Object ref = iJLHLCLLENE_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      iJLHLCLLENE_ = s;
      return s;
    }
  }
  /**
   * <code>string IJLHLCLLENE = 31;</code>
   * @return The bytes for iJLHLCLLENE.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getIJLHLCLLENEBytes() {
    java.lang.Object ref = iJLHLCLLENE_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      iJLHLCLLENE_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ONLINE_ID_FIELD_NUMBER = 11;
  private volatile java.lang.Object onlineId_;
  /**
   * <code>string online_id = 11;</code>
   * @return The onlineId.
   */
  @java.lang.Override
  public java.lang.String getOnlineId() {
    java.lang.Object ref = onlineId_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      onlineId_ = s;
      return s;
    }
  }
  /**
   * <code>string online_id = 11;</code>
   * @return The bytes for onlineId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getOnlineIdBytes() {
    java.lang.Object ref = onlineId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      onlineId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SHOW_AVATAR_INFO_LIST_FIELD_NUMBER = 22;
  private java.util.List<io.grasscutter.net.proto.social.SocialShowAvatarInfo> showAvatarInfoList_;
  /**
   * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.social.SocialShowAvatarInfo> getShowAvatarInfoListList() {
    return showAvatarInfoList_;
  }
  /**
   * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.social.SocialShowAvatarInfoOrBuilder> 
      getShowAvatarInfoListOrBuilderList() {
    return showAvatarInfoList_;
  }
  /**
   * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
   */
  @java.lang.Override
  public int getShowAvatarInfoListCount() {
    return showAvatarInfoList_.size();
  }
  /**
   * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.social.SocialShowAvatarInfo getShowAvatarInfoList(int index) {
    return showAvatarInfoList_.get(index);
  }
  /**
   * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.social.SocialShowAvatarInfoOrBuilder getShowAvatarInfoListOrBuilder(
      int index) {
    return showAvatarInfoList_.get(index);
  }

  public static final int PROFILE_PICTURE_FIELD_NUMBER = 24;
  private io.grasscutter.net.proto.define.ProfilePicture profilePicture_;
  /**
   * <code>.ProfilePicture profile_picture = 24;</code>
   * @return Whether the profilePicture field is set.
   */
  @java.lang.Override
  public boolean hasProfilePicture() {
    return profilePicture_ != null;
  }
  /**
   * <code>.ProfilePicture profile_picture = 24;</code>
   * @return The profilePicture.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.ProfilePicture getProfilePicture() {
    return profilePicture_ == null ? io.grasscutter.net.proto.define.ProfilePicture.getDefaultInstance() : profilePicture_;
  }
  /**
   * <code>.ProfilePicture profile_picture = 24;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.ProfilePictureOrBuilder getProfilePictureOrBuilder() {
    return getProfilePicture();
  }

  public static final int CHAT_SEQUENCE_FIELD_NUMBER = 16;
  private int chatSequence_;
  /**
   * <code>uint32 chat_sequence = 16;</code>
   * @return The chatSequence.
   */
  @java.lang.Override
  public int getChatSequence() {
    return chatSequence_;
  }

  public static final int LAST_ACTIVE_TIME_FIELD_NUMBER = 12;
  private int lastActiveTime_;
  /**
   * <code>uint32 last_active_time = 12;</code>
   * @return The lastActiveTime.
   */
  @java.lang.Override
  public int getLastActiveTime() {
    return lastActiveTime_;
  }

  public static final int PARAM_FIELD_NUMBER = 8;
  private int param_;
  /**
   * <code>uint32 param = 8;</code>
   * @return The param.
   */
  @java.lang.Override
  public int getParam() {
    return param_;
  }

  public static final int ONLINE_STATE_FIELD_NUMBER = 7;
  private int onlineState_;
  /**
   * <code>.FriendOnlineState online_state = 7;</code>
   * @return The enum numeric value on the wire for onlineState.
   */
  @java.lang.Override public int getOnlineStateValue() {
    return onlineState_;
  }
  /**
   * <code>.FriendOnlineState online_state = 7;</code>
   * @return The onlineState.
   */
  @java.lang.Override public io.grasscutter.net.proto.social.FriendOnlineState getOnlineState() {
    @SuppressWarnings("deprecation")
    io.grasscutter.net.proto.social.FriendOnlineState result = io.grasscutter.net.proto.social.FriendOnlineState.valueOf(onlineState_);
    return result == null ? io.grasscutter.net.proto.social.FriendOnlineState.UNRECOGNIZED : result;
  }

  public static final int LEVEL_FIELD_NUMBER = 3;
  private int level_;
  /**
   * <code>uint32 level = 3;</code>
   * @return The level.
   */
  @java.lang.Override
  public int getLevel() {
    return level_;
  }

  public static final int DEVICE_INFO_FIELD_NUMBER = 27;
  private int deviceInfo_;
  /**
   * <code>.NFONHFAMDNE device_info = 27;</code>
   * @return The enum numeric value on the wire for deviceInfo.
   */
  @java.lang.Override public int getDeviceInfoValue() {
    return deviceInfo_;
  }
  /**
   * <code>.NFONHFAMDNE device_info = 27;</code>
   * @return The deviceInfo.
   */
  @java.lang.Override public io.grasscutter.net.proto.social.NFONHFAMDNE getDeviceInfo() {
    @SuppressWarnings("deprecation")
    io.grasscutter.net.proto.social.NFONHFAMDNE result = io.grasscutter.net.proto.social.NFONHFAMDNE.valueOf(deviceInfo_);
    return result == null ? io.grasscutter.net.proto.social.NFONHFAMDNE.UNRECOGNIZED : result;
  }

  public static final int NAME_CARD_ID_FIELD_NUMBER = 13;
  private int nameCardId_;
  /**
   * <code>uint32 name_card_id = 13;</code>
   * @return The nameCardId.
   */
  @java.lang.Override
  public int getNameCardId() {
    return nameCardId_;
  }

  public static final int AVATAR_ID_FIELD_NUMBER = 4;
  private int avatarId_;
  /**
   * <code>uint32 avatar_id = 4;</code>
   * @return The avatarId.
   */
  @java.lang.Override
  public int getAvatarId() {
    return avatarId_;
  }

  public static final int WORLD_LEVEL_FIELD_NUMBER = 5;
  private int worldLevel_;
  /**
   * <code>uint32 world_level = 5;</code>
   * @return The worldLevel.
   */
  @java.lang.Override
  public int getWorldLevel() {
    return worldLevel_;
  }

  public static final int MP_PLAYER_NUM_FIELD_NUMBER = 14;
  private int mpPlayerNum_;
  /**
   * <code>uint32 mp_player_num = 14;</code>
   * @return The mpPlayerNum.
   */
  @java.lang.Override
  public int getMpPlayerNum() {
    return mpPlayerNum_;
  }

  public static final int IS_PSN_SOURCE_FIELD_NUMBER = 26;
  private boolean isPsnSource_;
  /**
   * <code>bool is_psn_source = 26;</code>
   * @return The isPsnSource.
   */
  @java.lang.Override
  public boolean getIsPsnSource() {
    return isPsnSource_;
  }

  public static final int IS_CHAT_NO_DISTURB_FIELD_NUMBER = 15;
  private boolean isChatNoDisturb_;
  /**
   * <code>bool is_chat_no_disturb = 15;</code>
   * @return The isChatNoDisturb.
   */
  @java.lang.Override
  public boolean getIsChatNoDisturb() {
    return isChatNoDisturb_;
  }

  public static final int DPLLLEKLOEI_FIELD_NUMBER = 28;
  private boolean dPLLLEKLOEI_;
  /**
   * <code>bool DPLLLEKLOEI = 28;</code>
   * @return The dPLLLEKLOEI.
   */
  @java.lang.Override
  public boolean getDPLLLEKLOEI() {
    return dPLLLEKLOEI_;
  }

  public static final int NEANBGINFPF_FIELD_NUMBER = 29;
  private boolean nEANBGINFPF_;
  /**
   * <code>bool NEANBGINFPF = 29;</code>
   * @return The nEANBGINFPF.
   */
  @java.lang.Override
  public boolean getNEANBGINFPF() {
    return nEANBGINFPF_;
  }

  public static final int UID_FIELD_NUMBER = 1;
  private int uid_;
  /**
   * <code>uint32 uid = 1;</code>
   * @return The uid.
   */
  @java.lang.Override
  public int getUid() {
    return uid_;
  }

  public static final int FRIEND_ENTER_HOME_OPTION_FIELD_NUMBER = 23;
  private int friendEnterHomeOption_;
  /**
   * <code>.FriendEnterHomeOption friend_enter_home_option = 23;</code>
   * @return The enum numeric value on the wire for friendEnterHomeOption.
   */
  @java.lang.Override public int getFriendEnterHomeOptionValue() {
    return friendEnterHomeOption_;
  }
  /**
   * <code>.FriendEnterHomeOption friend_enter_home_option = 23;</code>
   * @return The friendEnterHomeOption.
   */
  @java.lang.Override public io.grasscutter.net.proto.define.FriendEnterHomeOption getFriendEnterHomeOption() {
    @SuppressWarnings("deprecation")
    io.grasscutter.net.proto.define.FriendEnterHomeOption result = io.grasscutter.net.proto.define.FriendEnterHomeOption.valueOf(friendEnterHomeOption_);
    return result == null ? io.grasscutter.net.proto.define.FriendEnterHomeOption.UNRECOGNIZED : result;
  }

  public static final int IS_GAME_SOURCE_FIELD_NUMBER = 25;
  private boolean isGameSource_;
  /**
   * <code>bool is_game_source = 25;</code>
   * @return The isGameSource.
   */
  @java.lang.Override
  public boolean getIsGameSource() {
    return isGameSource_;
  }

  public static final int JADDAKOJMBB_FIELD_NUMBER = 30;
  private boolean jADDAKOJMBB_;
  /**
   * <code>bool JADDAKOJMBB = 30;</code>
   * @return The jADDAKOJMBB.
   */
  @java.lang.Override
  public boolean getJADDAKOJMBB() {
    return jADDAKOJMBB_;
  }

  public static final int IS_MP_MODE_AVAILABLE_FIELD_NUMBER = 10;
  private boolean isMpModeAvailable_;
  /**
   * <code>bool is_mp_mode_available = 10;</code>
   * @return The isMpModeAvailable.
   */
  @java.lang.Override
  public boolean getIsMpModeAvailable() {
    return isMpModeAvailable_;
  }

  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 (uid_ != 0) {
      output.writeUInt32(1, uid_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nickname_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, nickname_);
    }
    if (level_ != 0) {
      output.writeUInt32(3, level_);
    }
    if (avatarId_ != 0) {
      output.writeUInt32(4, avatarId_);
    }
    if (worldLevel_ != 0) {
      output.writeUInt32(5, worldLevel_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(signature_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 6, signature_);
    }
    if (onlineState_ != io.grasscutter.net.proto.social.FriendOnlineState.FriendOnlineState_FREIEND_DISCONNECT.getNumber()) {
      output.writeEnum(7, onlineState_);
    }
    if (param_ != 0) {
      output.writeUInt32(8, param_);
    }
    if (isMpModeAvailable_ != false) {
      output.writeBool(10, isMpModeAvailable_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(onlineId_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 11, onlineId_);
    }
    if (lastActiveTime_ != 0) {
      output.writeUInt32(12, lastActiveTime_);
    }
    if (nameCardId_ != 0) {
      output.writeUInt32(13, nameCardId_);
    }
    if (mpPlayerNum_ != 0) {
      output.writeUInt32(14, mpPlayerNum_);
    }
    if (isChatNoDisturb_ != false) {
      output.writeBool(15, isChatNoDisturb_);
    }
    if (chatSequence_ != 0) {
      output.writeUInt32(16, chatSequence_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remarkName_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 17, remarkName_);
    }
    for (int i = 0; i < showAvatarInfoList_.size(); i++) {
      output.writeMessage(22, showAvatarInfoList_.get(i));
    }
    if (friendEnterHomeOption_ != io.grasscutter.net.proto.define.FriendEnterHomeOption.FriendEnterHomeOption_NEED_CONFIRM.getNumber()) {
      output.writeEnum(23, friendEnterHomeOption_);
    }
    if (profilePicture_ != null) {
      output.writeMessage(24, getProfilePicture());
    }
    if (isGameSource_ != false) {
      output.writeBool(25, isGameSource_);
    }
    if (isPsnSource_ != false) {
      output.writeBool(26, isPsnSource_);
    }
    if (deviceInfo_ != io.grasscutter.net.proto.social.NFONHFAMDNE.NFONHFAMDNE_EDITOR.getNumber()) {
      output.writeEnum(27, deviceInfo_);
    }
    if (dPLLLEKLOEI_ != false) {
      output.writeBool(28, dPLLLEKLOEI_);
    }
    if (nEANBGINFPF_ != false) {
      output.writeBool(29, nEANBGINFPF_);
    }
    if (jADDAKOJMBB_ != false) {
      output.writeBool(30, jADDAKOJMBB_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iJLHLCLLENE_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 31, iJLHLCLLENE_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lBKDGOEFEBC_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 32, lBKDGOEFEBC_);
    }
    unknownFields.writeTo(output);
  }

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

    size = 0;
    if (uid_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(1, uid_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nickname_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, nickname_);
    }
    if (level_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(3, level_);
    }
    if (avatarId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(4, avatarId_);
    }
    if (worldLevel_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(5, worldLevel_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(signature_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, signature_);
    }
    if (onlineState_ != io.grasscutter.net.proto.social.FriendOnlineState.FriendOnlineState_FREIEND_DISCONNECT.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(7, onlineState_);
    }
    if (param_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(8, param_);
    }
    if (isMpModeAvailable_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(10, isMpModeAvailable_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(onlineId_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, onlineId_);
    }
    if (lastActiveTime_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(12, lastActiveTime_);
    }
    if (nameCardId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(13, nameCardId_);
    }
    if (mpPlayerNum_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(14, mpPlayerNum_);
    }
    if (isChatNoDisturb_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(15, isChatNoDisturb_);
    }
    if (chatSequence_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(16, chatSequence_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remarkName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, remarkName_);
    }
    for (int i = 0; i < showAvatarInfoList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(22, showAvatarInfoList_.get(i));
    }
    if (friendEnterHomeOption_ != io.grasscutter.net.proto.define.FriendEnterHomeOption.FriendEnterHomeOption_NEED_CONFIRM.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(23, friendEnterHomeOption_);
    }
    if (profilePicture_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(24, getProfilePicture());
    }
    if (isGameSource_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(25, isGameSource_);
    }
    if (isPsnSource_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(26, isPsnSource_);
    }
    if (deviceInfo_ != io.grasscutter.net.proto.social.NFONHFAMDNE.NFONHFAMDNE_EDITOR.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(27, deviceInfo_);
    }
    if (dPLLLEKLOEI_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(28, dPLLLEKLOEI_);
    }
    if (nEANBGINFPF_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(29, nEANBGINFPF_);
    }
    if (jADDAKOJMBB_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(30, jADDAKOJMBB_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iJLHLCLLENE_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(31, iJLHLCLLENE_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lBKDGOEFEBC_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(32, lBKDGOEFEBC_);
    }
    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 io.grasscutter.net.proto.social.FriendBrief)) {
      return super.equals(obj);
    }
    io.grasscutter.net.proto.social.FriendBrief other = (io.grasscutter.net.proto.social.FriendBrief) obj;

    if (!getNickname()
        .equals(other.getNickname())) return false;
    if (!getRemarkName()
        .equals(other.getRemarkName())) return false;
    if (!getSignature()
        .equals(other.getSignature())) return false;
    if (!getLBKDGOEFEBC()
        .equals(other.getLBKDGOEFEBC())) return false;
    if (!getIJLHLCLLENE()
        .equals(other.getIJLHLCLLENE())) return false;
    if (!getOnlineId()
        .equals(other.getOnlineId())) return false;
    if (!getShowAvatarInfoListList()
        .equals(other.getShowAvatarInfoListList())) return false;
    if (hasProfilePicture() != other.hasProfilePicture()) return false;
    if (hasProfilePicture()) {
      if (!getProfilePicture()
          .equals(other.getProfilePicture())) return false;
    }
    if (getChatSequence()
        != other.getChatSequence()) return false;
    if (getLastActiveTime()
        != other.getLastActiveTime()) return false;
    if (getParam()
        != other.getParam()) return false;
    if (onlineState_ != other.onlineState_) return false;
    if (getLevel()
        != other.getLevel()) return false;
    if (deviceInfo_ != other.deviceInfo_) return false;
    if (getNameCardId()
        != other.getNameCardId()) return false;
    if (getAvatarId()
        != other.getAvatarId()) return false;
    if (getWorldLevel()
        != other.getWorldLevel()) return false;
    if (getMpPlayerNum()
        != other.getMpPlayerNum()) return false;
    if (getIsPsnSource()
        != other.getIsPsnSource()) return false;
    if (getIsChatNoDisturb()
        != other.getIsChatNoDisturb()) return false;
    if (getDPLLLEKLOEI()
        != other.getDPLLLEKLOEI()) return false;
    if (getNEANBGINFPF()
        != other.getNEANBGINFPF()) return false;
    if (getUid()
        != other.getUid()) return false;
    if (friendEnterHomeOption_ != other.friendEnterHomeOption_) return false;
    if (getIsGameSource()
        != other.getIsGameSource()) return false;
    if (getJADDAKOJMBB()
        != other.getJADDAKOJMBB()) return false;
    if (getIsMpModeAvailable()
        != other.getIsMpModeAvailable()) 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) + NICKNAME_FIELD_NUMBER;
    hash = (53 * hash) + getNickname().hashCode();
    hash = (37 * hash) + REMARK_NAME_FIELD_NUMBER;
    hash = (53 * hash) + getRemarkName().hashCode();
    hash = (37 * hash) + SIGNATURE_FIELD_NUMBER;
    hash = (53 * hash) + getSignature().hashCode();
    hash = (37 * hash) + LBKDGOEFEBC_FIELD_NUMBER;
    hash = (53 * hash) + getLBKDGOEFEBC().hashCode();
    hash = (37 * hash) + IJLHLCLLENE_FIELD_NUMBER;
    hash = (53 * hash) + getIJLHLCLLENE().hashCode();
    hash = (37 * hash) + ONLINE_ID_FIELD_NUMBER;
    hash = (53 * hash) + getOnlineId().hashCode();
    if (getShowAvatarInfoListCount() > 0) {
      hash = (37 * hash) + SHOW_AVATAR_INFO_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getShowAvatarInfoListList().hashCode();
    }
    if (hasProfilePicture()) {
      hash = (37 * hash) + PROFILE_PICTURE_FIELD_NUMBER;
      hash = (53 * hash) + getProfilePicture().hashCode();
    }
    hash = (37 * hash) + CHAT_SEQUENCE_FIELD_NUMBER;
    hash = (53 * hash) + getChatSequence();
    hash = (37 * hash) + LAST_ACTIVE_TIME_FIELD_NUMBER;
    hash = (53 * hash) + getLastActiveTime();
    hash = (37 * hash) + PARAM_FIELD_NUMBER;
    hash = (53 * hash) + getParam();
    hash = (37 * hash) + ONLINE_STATE_FIELD_NUMBER;
    hash = (53 * hash) + onlineState_;
    hash = (37 * hash) + LEVEL_FIELD_NUMBER;
    hash = (53 * hash) + getLevel();
    hash = (37 * hash) + DEVICE_INFO_FIELD_NUMBER;
    hash = (53 * hash) + deviceInfo_;
    hash = (37 * hash) + NAME_CARD_ID_FIELD_NUMBER;
    hash = (53 * hash) + getNameCardId();
    hash = (37 * hash) + AVATAR_ID_FIELD_NUMBER;
    hash = (53 * hash) + getAvatarId();
    hash = (37 * hash) + WORLD_LEVEL_FIELD_NUMBER;
    hash = (53 * hash) + getWorldLevel();
    hash = (37 * hash) + MP_PLAYER_NUM_FIELD_NUMBER;
    hash = (53 * hash) + getMpPlayerNum();
    hash = (37 * hash) + IS_PSN_SOURCE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsPsnSource());
    hash = (37 * hash) + IS_CHAT_NO_DISTURB_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsChatNoDisturb());
    hash = (37 * hash) + DPLLLEKLOEI_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getDPLLLEKLOEI());
    hash = (37 * hash) + NEANBGINFPF_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getNEANBGINFPF());
    hash = (37 * hash) + UID_FIELD_NUMBER;
    hash = (53 * hash) + getUid();
    hash = (37 * hash) + FRIEND_ENTER_HOME_OPTION_FIELD_NUMBER;
    hash = (53 * hash) + friendEnterHomeOption_;
    hash = (37 * hash) + IS_GAME_SOURCE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsGameSource());
    hash = (37 * hash) + JADDAKOJMBB_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getJADDAKOJMBB());
    hash = (37 * hash) + IS_MP_MODE_AVAILABLE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsMpModeAvailable());
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static io.grasscutter.net.proto.social.FriendBrief parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.social.FriendBrief parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.social.FriendBrief parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.social.FriendBrief parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.social.FriendBrief parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.social.FriendBrief parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.social.FriendBrief parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.social.FriendBrief 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 io.grasscutter.net.proto.social.FriendBrief parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.social.FriendBrief 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 io.grasscutter.net.proto.social.FriendBrief parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.social.FriendBrief 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(io.grasscutter.net.proto.social.FriendBrief 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 FriendBrief}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:FriendBrief)
      io.grasscutter.net.proto.social.FriendBriefOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.grasscutter.net.proto.social.Social.internal_static_FriendBrief_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.grasscutter.net.proto.social.Social.internal_static_FriendBrief_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.grasscutter.net.proto.social.FriendBrief.class, io.grasscutter.net.proto.social.FriendBrief.Builder.class);
    }

    // Construct using io.grasscutter.net.proto.social.FriendBrief.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

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

      remarkName_ = "";

      signature_ = "";

      lBKDGOEFEBC_ = "";

      iJLHLCLLENE_ = "";

      onlineId_ = "";

      if (showAvatarInfoListBuilder_ == null) {
        showAvatarInfoList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
      } else {
        showAvatarInfoListBuilder_.clear();
      }
      if (profilePictureBuilder_ == null) {
        profilePicture_ = null;
      } else {
        profilePicture_ = null;
        profilePictureBuilder_ = null;
      }
      chatSequence_ = 0;

      lastActiveTime_ = 0;

      param_ = 0;

      onlineState_ = 0;

      level_ = 0;

      deviceInfo_ = 0;

      nameCardId_ = 0;

      avatarId_ = 0;

      worldLevel_ = 0;

      mpPlayerNum_ = 0;

      isPsnSource_ = false;

      isChatNoDisturb_ = false;

      dPLLLEKLOEI_ = false;

      nEANBGINFPF_ = false;

      uid_ = 0;

      friendEnterHomeOption_ = 0;

      isGameSource_ = false;

      jADDAKOJMBB_ = false;

      isMpModeAvailable_ = false;

      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return io.grasscutter.net.proto.social.Social.internal_static_FriendBrief_descriptor;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.social.FriendBrief getDefaultInstanceForType() {
      return io.grasscutter.net.proto.social.FriendBrief.getDefaultInstance();
    }

    @java.lang.Override
    public io.grasscutter.net.proto.social.FriendBrief build() {
      io.grasscutter.net.proto.social.FriendBrief result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.social.FriendBrief buildPartial() {
      io.grasscutter.net.proto.social.FriendBrief result = new io.grasscutter.net.proto.social.FriendBrief(this);
      int from_bitField0_ = bitField0_;
      result.nickname_ = nickname_;
      result.remarkName_ = remarkName_;
      result.signature_ = signature_;
      result.lBKDGOEFEBC_ = lBKDGOEFEBC_;
      result.iJLHLCLLENE_ = iJLHLCLLENE_;
      result.onlineId_ = onlineId_;
      if (showAvatarInfoListBuilder_ == null) {
        if (((bitField0_ & 0x00000001) != 0)) {
          showAvatarInfoList_ = java.util.Collections.unmodifiableList(showAvatarInfoList_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.showAvatarInfoList_ = showAvatarInfoList_;
      } else {
        result.showAvatarInfoList_ = showAvatarInfoListBuilder_.build();
      }
      if (profilePictureBuilder_ == null) {
        result.profilePicture_ = profilePicture_;
      } else {
        result.profilePicture_ = profilePictureBuilder_.build();
      }
      result.chatSequence_ = chatSequence_;
      result.lastActiveTime_ = lastActiveTime_;
      result.param_ = param_;
      result.onlineState_ = onlineState_;
      result.level_ = level_;
      result.deviceInfo_ = deviceInfo_;
      result.nameCardId_ = nameCardId_;
      result.avatarId_ = avatarId_;
      result.worldLevel_ = worldLevel_;
      result.mpPlayerNum_ = mpPlayerNum_;
      result.isPsnSource_ = isPsnSource_;
      result.isChatNoDisturb_ = isChatNoDisturb_;
      result.dPLLLEKLOEI_ = dPLLLEKLOEI_;
      result.nEANBGINFPF_ = nEANBGINFPF_;
      result.uid_ = uid_;
      result.friendEnterHomeOption_ = friendEnterHomeOption_;
      result.isGameSource_ = isGameSource_;
      result.jADDAKOJMBB_ = jADDAKOJMBB_;
      result.isMpModeAvailable_ = isMpModeAvailable_;
      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 io.grasscutter.net.proto.social.FriendBrief) {
        return mergeFrom((io.grasscutter.net.proto.social.FriendBrief)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(io.grasscutter.net.proto.social.FriendBrief other) {
      if (other == io.grasscutter.net.proto.social.FriendBrief.getDefaultInstance()) return this;
      if (!other.getNickname().isEmpty()) {
        nickname_ = other.nickname_;
        onChanged();
      }
      if (!other.getRemarkName().isEmpty()) {
        remarkName_ = other.remarkName_;
        onChanged();
      }
      if (!other.getSignature().isEmpty()) {
        signature_ = other.signature_;
        onChanged();
      }
      if (!other.getLBKDGOEFEBC().isEmpty()) {
        lBKDGOEFEBC_ = other.lBKDGOEFEBC_;
        onChanged();
      }
      if (!other.getIJLHLCLLENE().isEmpty()) {
        iJLHLCLLENE_ = other.iJLHLCLLENE_;
        onChanged();
      }
      if (!other.getOnlineId().isEmpty()) {
        onlineId_ = other.onlineId_;
        onChanged();
      }
      if (showAvatarInfoListBuilder_ == null) {
        if (!other.showAvatarInfoList_.isEmpty()) {
          if (showAvatarInfoList_.isEmpty()) {
            showAvatarInfoList_ = other.showAvatarInfoList_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureShowAvatarInfoListIsMutable();
            showAvatarInfoList_.addAll(other.showAvatarInfoList_);
          }
          onChanged();
        }
      } else {
        if (!other.showAvatarInfoList_.isEmpty()) {
          if (showAvatarInfoListBuilder_.isEmpty()) {
            showAvatarInfoListBuilder_.dispose();
            showAvatarInfoListBuilder_ = null;
            showAvatarInfoList_ = other.showAvatarInfoList_;
            bitField0_ = (bitField0_ & ~0x00000001);
            showAvatarInfoListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getShowAvatarInfoListFieldBuilder() : null;
          } else {
            showAvatarInfoListBuilder_.addAllMessages(other.showAvatarInfoList_);
          }
        }
      }
      if (other.hasProfilePicture()) {
        mergeProfilePicture(other.getProfilePicture());
      }
      if (other.getChatSequence() != 0) {
        setChatSequence(other.getChatSequence());
      }
      if (other.getLastActiveTime() != 0) {
        setLastActiveTime(other.getLastActiveTime());
      }
      if (other.getParam() != 0) {
        setParam(other.getParam());
      }
      if (other.onlineState_ != 0) {
        setOnlineStateValue(other.getOnlineStateValue());
      }
      if (other.getLevel() != 0) {
        setLevel(other.getLevel());
      }
      if (other.deviceInfo_ != 0) {
        setDeviceInfoValue(other.getDeviceInfoValue());
      }
      if (other.getNameCardId() != 0) {
        setNameCardId(other.getNameCardId());
      }
      if (other.getAvatarId() != 0) {
        setAvatarId(other.getAvatarId());
      }
      if (other.getWorldLevel() != 0) {
        setWorldLevel(other.getWorldLevel());
      }
      if (other.getMpPlayerNum() != 0) {
        setMpPlayerNum(other.getMpPlayerNum());
      }
      if (other.getIsPsnSource() != false) {
        setIsPsnSource(other.getIsPsnSource());
      }
      if (other.getIsChatNoDisturb() != false) {
        setIsChatNoDisturb(other.getIsChatNoDisturb());
      }
      if (other.getDPLLLEKLOEI() != false) {
        setDPLLLEKLOEI(other.getDPLLLEKLOEI());
      }
      if (other.getNEANBGINFPF() != false) {
        setNEANBGINFPF(other.getNEANBGINFPF());
      }
      if (other.getUid() != 0) {
        setUid(other.getUid());
      }
      if (other.friendEnterHomeOption_ != 0) {
        setFriendEnterHomeOptionValue(other.getFriendEnterHomeOptionValue());
      }
      if (other.getIsGameSource() != false) {
        setIsGameSource(other.getIsGameSource());
      }
      if (other.getJADDAKOJMBB() != false) {
        setJADDAKOJMBB(other.getJADDAKOJMBB());
      }
      if (other.getIsMpModeAvailable() != false) {
        setIsMpModeAvailable(other.getIsMpModeAvailable());
      }
      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 {
      io.grasscutter.net.proto.social.FriendBrief parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (io.grasscutter.net.proto.social.FriendBrief) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int bitField0_;

    private java.lang.Object nickname_ = "";
    /**
     * <code>string nickname = 2;</code>
     * @return The nickname.
     */
    public java.lang.String getNickname() {
      java.lang.Object ref = nickname_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        nickname_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string nickname = 2;</code>
     * @return The bytes for nickname.
     */
    public com.google.protobuf.ByteString
        getNicknameBytes() {
      java.lang.Object ref = nickname_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nickname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string nickname = 2;</code>
     * @param value The nickname to set.
     * @return This builder for chaining.
     */
    public Builder setNickname(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      nickname_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string nickname = 2;</code>
     * @return This builder for chaining.
     */
    public Builder clearNickname() {
      
      nickname_ = getDefaultInstance().getNickname();
      onChanged();
      return this;
    }
    /**
     * <code>string nickname = 2;</code>
     * @param value The bytes for nickname to set.
     * @return This builder for chaining.
     */
    public Builder setNicknameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      nickname_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object remarkName_ = "";
    /**
     * <code>string remark_name = 17;</code>
     * @return The remarkName.
     */
    public java.lang.String getRemarkName() {
      java.lang.Object ref = remarkName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        remarkName_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string remark_name = 17;</code>
     * @return The bytes for remarkName.
     */
    public com.google.protobuf.ByteString
        getRemarkNameBytes() {
      java.lang.Object ref = remarkName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        remarkName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string remark_name = 17;</code>
     * @param value The remarkName to set.
     * @return This builder for chaining.
     */
    public Builder setRemarkName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      remarkName_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string remark_name = 17;</code>
     * @return This builder for chaining.
     */
    public Builder clearRemarkName() {
      
      remarkName_ = getDefaultInstance().getRemarkName();
      onChanged();
      return this;
    }
    /**
     * <code>string remark_name = 17;</code>
     * @param value The bytes for remarkName to set.
     * @return This builder for chaining.
     */
    public Builder setRemarkNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      remarkName_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object signature_ = "";
    /**
     * <code>string signature = 6;</code>
     * @return The signature.
     */
    public java.lang.String getSignature() {
      java.lang.Object ref = signature_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        signature_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string signature = 6;</code>
     * @return The bytes for signature.
     */
    public com.google.protobuf.ByteString
        getSignatureBytes() {
      java.lang.Object ref = signature_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        signature_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string signature = 6;</code>
     * @param value The signature to set.
     * @return This builder for chaining.
     */
    public Builder setSignature(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      signature_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string signature = 6;</code>
     * @return This builder for chaining.
     */
    public Builder clearSignature() {
      
      signature_ = getDefaultInstance().getSignature();
      onChanged();
      return this;
    }
    /**
     * <code>string signature = 6;</code>
     * @param value The bytes for signature to set.
     * @return This builder for chaining.
     */
    public Builder setSignatureBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      signature_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object lBKDGOEFEBC_ = "";
    /**
     * <code>string LBKDGOEFEBC = 32;</code>
     * @return The lBKDGOEFEBC.
     */
    public java.lang.String getLBKDGOEFEBC() {
      java.lang.Object ref = lBKDGOEFEBC_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        lBKDGOEFEBC_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string LBKDGOEFEBC = 32;</code>
     * @return The bytes for lBKDGOEFEBC.
     */
    public com.google.protobuf.ByteString
        getLBKDGOEFEBCBytes() {
      java.lang.Object ref = lBKDGOEFEBC_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        lBKDGOEFEBC_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string LBKDGOEFEBC = 32;</code>
     * @param value The lBKDGOEFEBC to set.
     * @return This builder for chaining.
     */
    public Builder setLBKDGOEFEBC(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      lBKDGOEFEBC_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string LBKDGOEFEBC = 32;</code>
     * @return This builder for chaining.
     */
    public Builder clearLBKDGOEFEBC() {
      
      lBKDGOEFEBC_ = getDefaultInstance().getLBKDGOEFEBC();
      onChanged();
      return this;
    }
    /**
     * <code>string LBKDGOEFEBC = 32;</code>
     * @param value The bytes for lBKDGOEFEBC to set.
     * @return This builder for chaining.
     */
    public Builder setLBKDGOEFEBCBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      lBKDGOEFEBC_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object iJLHLCLLENE_ = "";
    /**
     * <code>string IJLHLCLLENE = 31;</code>
     * @return The iJLHLCLLENE.
     */
    public java.lang.String getIJLHLCLLENE() {
      java.lang.Object ref = iJLHLCLLENE_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        iJLHLCLLENE_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string IJLHLCLLENE = 31;</code>
     * @return The bytes for iJLHLCLLENE.
     */
    public com.google.protobuf.ByteString
        getIJLHLCLLENEBytes() {
      java.lang.Object ref = iJLHLCLLENE_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        iJLHLCLLENE_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string IJLHLCLLENE = 31;</code>
     * @param value The iJLHLCLLENE to set.
     * @return This builder for chaining.
     */
    public Builder setIJLHLCLLENE(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      iJLHLCLLENE_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string IJLHLCLLENE = 31;</code>
     * @return This builder for chaining.
     */
    public Builder clearIJLHLCLLENE() {
      
      iJLHLCLLENE_ = getDefaultInstance().getIJLHLCLLENE();
      onChanged();
      return this;
    }
    /**
     * <code>string IJLHLCLLENE = 31;</code>
     * @param value The bytes for iJLHLCLLENE to set.
     * @return This builder for chaining.
     */
    public Builder setIJLHLCLLENEBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      iJLHLCLLENE_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object onlineId_ = "";
    /**
     * <code>string online_id = 11;</code>
     * @return The onlineId.
     */
    public java.lang.String getOnlineId() {
      java.lang.Object ref = onlineId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        onlineId_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string online_id = 11;</code>
     * @return The bytes for onlineId.
     */
    public com.google.protobuf.ByteString
        getOnlineIdBytes() {
      java.lang.Object ref = onlineId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        onlineId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string online_id = 11;</code>
     * @param value The onlineId to set.
     * @return This builder for chaining.
     */
    public Builder setOnlineId(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      onlineId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string online_id = 11;</code>
     * @return This builder for chaining.
     */
    public Builder clearOnlineId() {
      
      onlineId_ = getDefaultInstance().getOnlineId();
      onChanged();
      return this;
    }
    /**
     * <code>string online_id = 11;</code>
     * @param value The bytes for onlineId to set.
     * @return This builder for chaining.
     */
    public Builder setOnlineIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      onlineId_ = value;
      onChanged();
      return this;
    }

    private java.util.List<io.grasscutter.net.proto.social.SocialShowAvatarInfo> showAvatarInfoList_ =
      java.util.Collections.emptyList();
    private void ensureShowAvatarInfoListIsMutable() {
      if (!((bitField0_ & 0x00000001) != 0)) {
        showAvatarInfoList_ = new java.util.ArrayList<io.grasscutter.net.proto.social.SocialShowAvatarInfo>(showAvatarInfoList_);
        bitField0_ |= 0x00000001;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.social.SocialShowAvatarInfo, io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder, io.grasscutter.net.proto.social.SocialShowAvatarInfoOrBuilder> showAvatarInfoListBuilder_;

    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public java.util.List<io.grasscutter.net.proto.social.SocialShowAvatarInfo> getShowAvatarInfoListList() {
      if (showAvatarInfoListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(showAvatarInfoList_);
      } else {
        return showAvatarInfoListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public int getShowAvatarInfoListCount() {
      if (showAvatarInfoListBuilder_ == null) {
        return showAvatarInfoList_.size();
      } else {
        return showAvatarInfoListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public io.grasscutter.net.proto.social.SocialShowAvatarInfo getShowAvatarInfoList(int index) {
      if (showAvatarInfoListBuilder_ == null) {
        return showAvatarInfoList_.get(index);
      } else {
        return showAvatarInfoListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder setShowAvatarInfoList(
        int index, io.grasscutter.net.proto.social.SocialShowAvatarInfo value) {
      if (showAvatarInfoListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureShowAvatarInfoListIsMutable();
        showAvatarInfoList_.set(index, value);
        onChanged();
      } else {
        showAvatarInfoListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder setShowAvatarInfoList(
        int index, io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder builderForValue) {
      if (showAvatarInfoListBuilder_ == null) {
        ensureShowAvatarInfoListIsMutable();
        showAvatarInfoList_.set(index, builderForValue.build());
        onChanged();
      } else {
        showAvatarInfoListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder addShowAvatarInfoList(io.grasscutter.net.proto.social.SocialShowAvatarInfo value) {
      if (showAvatarInfoListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureShowAvatarInfoListIsMutable();
        showAvatarInfoList_.add(value);
        onChanged();
      } else {
        showAvatarInfoListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder addShowAvatarInfoList(
        int index, io.grasscutter.net.proto.social.SocialShowAvatarInfo value) {
      if (showAvatarInfoListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureShowAvatarInfoListIsMutable();
        showAvatarInfoList_.add(index, value);
        onChanged();
      } else {
        showAvatarInfoListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder addShowAvatarInfoList(
        io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder builderForValue) {
      if (showAvatarInfoListBuilder_ == null) {
        ensureShowAvatarInfoListIsMutable();
        showAvatarInfoList_.add(builderForValue.build());
        onChanged();
      } else {
        showAvatarInfoListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder addShowAvatarInfoList(
        int index, io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder builderForValue) {
      if (showAvatarInfoListBuilder_ == null) {
        ensureShowAvatarInfoListIsMutable();
        showAvatarInfoList_.add(index, builderForValue.build());
        onChanged();
      } else {
        showAvatarInfoListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder addAllShowAvatarInfoList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.social.SocialShowAvatarInfo> values) {
      if (showAvatarInfoListBuilder_ == null) {
        ensureShowAvatarInfoListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, showAvatarInfoList_);
        onChanged();
      } else {
        showAvatarInfoListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder clearShowAvatarInfoList() {
      if (showAvatarInfoListBuilder_ == null) {
        showAvatarInfoList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
      } else {
        showAvatarInfoListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public Builder removeShowAvatarInfoList(int index) {
      if (showAvatarInfoListBuilder_ == null) {
        ensureShowAvatarInfoListIsMutable();
        showAvatarInfoList_.remove(index);
        onChanged();
      } else {
        showAvatarInfoListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder getShowAvatarInfoListBuilder(
        int index) {
      return getShowAvatarInfoListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public io.grasscutter.net.proto.social.SocialShowAvatarInfoOrBuilder getShowAvatarInfoListOrBuilder(
        int index) {
      if (showAvatarInfoListBuilder_ == null) {
        return showAvatarInfoList_.get(index);  } else {
        return showAvatarInfoListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.social.SocialShowAvatarInfoOrBuilder> 
         getShowAvatarInfoListOrBuilderList() {
      if (showAvatarInfoListBuilder_ != null) {
        return showAvatarInfoListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(showAvatarInfoList_);
      }
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder addShowAvatarInfoListBuilder() {
      return getShowAvatarInfoListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.social.SocialShowAvatarInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder addShowAvatarInfoListBuilder(
        int index) {
      return getShowAvatarInfoListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.social.SocialShowAvatarInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .SocialShowAvatarInfo show_avatar_info_list = 22;</code>
     */
    public java.util.List<io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder> 
         getShowAvatarInfoListBuilderList() {
      return getShowAvatarInfoListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.social.SocialShowAvatarInfo, io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder, io.grasscutter.net.proto.social.SocialShowAvatarInfoOrBuilder> 
        getShowAvatarInfoListFieldBuilder() {
      if (showAvatarInfoListBuilder_ == null) {
        showAvatarInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.social.SocialShowAvatarInfo, io.grasscutter.net.proto.social.SocialShowAvatarInfo.Builder, io.grasscutter.net.proto.social.SocialShowAvatarInfoOrBuilder>(
                showAvatarInfoList_,
                ((bitField0_ & 0x00000001) != 0),
                getParentForChildren(),
                isClean());
        showAvatarInfoList_ = null;
      }
      return showAvatarInfoListBuilder_;
    }

    private io.grasscutter.net.proto.define.ProfilePicture profilePicture_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.ProfilePicture, io.grasscutter.net.proto.define.ProfilePicture.Builder, io.grasscutter.net.proto.define.ProfilePictureOrBuilder> profilePictureBuilder_;
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     * @return Whether the profilePicture field is set.
     */
    public boolean hasProfilePicture() {
      return profilePictureBuilder_ != null || profilePicture_ != null;
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     * @return The profilePicture.
     */
    public io.grasscutter.net.proto.define.ProfilePicture getProfilePicture() {
      if (profilePictureBuilder_ == null) {
        return profilePicture_ == null ? io.grasscutter.net.proto.define.ProfilePicture.getDefaultInstance() : profilePicture_;
      } else {
        return profilePictureBuilder_.getMessage();
      }
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     */
    public Builder setProfilePicture(io.grasscutter.net.proto.define.ProfilePicture value) {
      if (profilePictureBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        profilePicture_ = value;
        onChanged();
      } else {
        profilePictureBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     */
    public Builder setProfilePicture(
        io.grasscutter.net.proto.define.ProfilePicture.Builder builderForValue) {
      if (profilePictureBuilder_ == null) {
        profilePicture_ = builderForValue.build();
        onChanged();
      } else {
        profilePictureBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     */
    public Builder mergeProfilePicture(io.grasscutter.net.proto.define.ProfilePicture value) {
      if (profilePictureBuilder_ == null) {
        if (profilePicture_ != null) {
          profilePicture_ =
            io.grasscutter.net.proto.define.ProfilePicture.newBuilder(profilePicture_).mergeFrom(value).buildPartial();
        } else {
          profilePicture_ = value;
        }
        onChanged();
      } else {
        profilePictureBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     */
    public Builder clearProfilePicture() {
      if (profilePictureBuilder_ == null) {
        profilePicture_ = null;
        onChanged();
      } else {
        profilePicture_ = null;
        profilePictureBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     */
    public io.grasscutter.net.proto.define.ProfilePicture.Builder getProfilePictureBuilder() {
      
      onChanged();
      return getProfilePictureFieldBuilder().getBuilder();
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     */
    public io.grasscutter.net.proto.define.ProfilePictureOrBuilder getProfilePictureOrBuilder() {
      if (profilePictureBuilder_ != null) {
        return profilePictureBuilder_.getMessageOrBuilder();
      } else {
        return profilePicture_ == null ?
            io.grasscutter.net.proto.define.ProfilePicture.getDefaultInstance() : profilePicture_;
      }
    }
    /**
     * <code>.ProfilePicture profile_picture = 24;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.ProfilePicture, io.grasscutter.net.proto.define.ProfilePicture.Builder, io.grasscutter.net.proto.define.ProfilePictureOrBuilder> 
        getProfilePictureFieldBuilder() {
      if (profilePictureBuilder_ == null) {
        profilePictureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.ProfilePicture, io.grasscutter.net.proto.define.ProfilePicture.Builder, io.grasscutter.net.proto.define.ProfilePictureOrBuilder>(
                getProfilePicture(),
                getParentForChildren(),
                isClean());
        profilePicture_ = null;
      }
      return profilePictureBuilder_;
    }

    private int chatSequence_ ;
    /**
     * <code>uint32 chat_sequence = 16;</code>
     * @return The chatSequence.
     */
    @java.lang.Override
    public int getChatSequence() {
      return chatSequence_;
    }
    /**
     * <code>uint32 chat_sequence = 16;</code>
     * @param value The chatSequence to set.
     * @return This builder for chaining.
     */
    public Builder setChatSequence(int value) {
      
      chatSequence_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 chat_sequence = 16;</code>
     * @return This builder for chaining.
     */
    public Builder clearChatSequence() {
      
      chatSequence_ = 0;
      onChanged();
      return this;
    }

    private int lastActiveTime_ ;
    /**
     * <code>uint32 last_active_time = 12;</code>
     * @return The lastActiveTime.
     */
    @java.lang.Override
    public int getLastActiveTime() {
      return lastActiveTime_;
    }
    /**
     * <code>uint32 last_active_time = 12;</code>
     * @param value The lastActiveTime to set.
     * @return This builder for chaining.
     */
    public Builder setLastActiveTime(int value) {
      
      lastActiveTime_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 last_active_time = 12;</code>
     * @return This builder for chaining.
     */
    public Builder clearLastActiveTime() {
      
      lastActiveTime_ = 0;
      onChanged();
      return this;
    }

    private int param_ ;
    /**
     * <code>uint32 param = 8;</code>
     * @return The param.
     */
    @java.lang.Override
    public int getParam() {
      return param_;
    }
    /**
     * <code>uint32 param = 8;</code>
     * @param value The param to set.
     * @return This builder for chaining.
     */
    public Builder setParam(int value) {
      
      param_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 param = 8;</code>
     * @return This builder for chaining.
     */
    public Builder clearParam() {
      
      param_ = 0;
      onChanged();
      return this;
    }

    private int onlineState_ = 0;
    /**
     * <code>.FriendOnlineState online_state = 7;</code>
     * @return The enum numeric value on the wire for onlineState.
     */
    @java.lang.Override public int getOnlineStateValue() {
      return onlineState_;
    }
    /**
     * <code>.FriendOnlineState online_state = 7;</code>
     * @param value The enum numeric value on the wire for onlineState to set.
     * @return This builder for chaining.
     */
    public Builder setOnlineStateValue(int value) {
      
      onlineState_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>.FriendOnlineState online_state = 7;</code>
     * @return The onlineState.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.social.FriendOnlineState getOnlineState() {
      @SuppressWarnings("deprecation")
      io.grasscutter.net.proto.social.FriendOnlineState result = io.grasscutter.net.proto.social.FriendOnlineState.valueOf(onlineState_);
      return result == null ? io.grasscutter.net.proto.social.FriendOnlineState.UNRECOGNIZED : result;
    }
    /**
     * <code>.FriendOnlineState online_state = 7;</code>
     * @param value The onlineState to set.
     * @return This builder for chaining.
     */
    public Builder setOnlineState(io.grasscutter.net.proto.social.FriendOnlineState value) {
      if (value == null) {
        throw new NullPointerException();
      }
      
      onlineState_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * <code>.FriendOnlineState online_state = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearOnlineState() {
      
      onlineState_ = 0;
      onChanged();
      return this;
    }

    private int level_ ;
    /**
     * <code>uint32 level = 3;</code>
     * @return The level.
     */
    @java.lang.Override
    public int getLevel() {
      return level_;
    }
    /**
     * <code>uint32 level = 3;</code>
     * @param value The level to set.
     * @return This builder for chaining.
     */
    public Builder setLevel(int value) {
      
      level_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 level = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearLevel() {
      
      level_ = 0;
      onChanged();
      return this;
    }

    private int deviceInfo_ = 0;
    /**
     * <code>.NFONHFAMDNE device_info = 27;</code>
     * @return The enum numeric value on the wire for deviceInfo.
     */
    @java.lang.Override public int getDeviceInfoValue() {
      return deviceInfo_;
    }
    /**
     * <code>.NFONHFAMDNE device_info = 27;</code>
     * @param value The enum numeric value on the wire for deviceInfo to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceInfoValue(int value) {
      
      deviceInfo_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>.NFONHFAMDNE device_info = 27;</code>
     * @return The deviceInfo.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.social.NFONHFAMDNE getDeviceInfo() {
      @SuppressWarnings("deprecation")
      io.grasscutter.net.proto.social.NFONHFAMDNE result = io.grasscutter.net.proto.social.NFONHFAMDNE.valueOf(deviceInfo_);
      return result == null ? io.grasscutter.net.proto.social.NFONHFAMDNE.UNRECOGNIZED : result;
    }
    /**
     * <code>.NFONHFAMDNE device_info = 27;</code>
     * @param value The deviceInfo to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceInfo(io.grasscutter.net.proto.social.NFONHFAMDNE value) {
      if (value == null) {
        throw new NullPointerException();
      }
      
      deviceInfo_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * <code>.NFONHFAMDNE device_info = 27;</code>
     * @return This builder for chaining.
     */
    public Builder clearDeviceInfo() {
      
      deviceInfo_ = 0;
      onChanged();
      return this;
    }

    private int nameCardId_ ;
    /**
     * <code>uint32 name_card_id = 13;</code>
     * @return The nameCardId.
     */
    @java.lang.Override
    public int getNameCardId() {
      return nameCardId_;
    }
    /**
     * <code>uint32 name_card_id = 13;</code>
     * @param value The nameCardId to set.
     * @return This builder for chaining.
     */
    public Builder setNameCardId(int value) {
      
      nameCardId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 name_card_id = 13;</code>
     * @return This builder for chaining.
     */
    public Builder clearNameCardId() {
      
      nameCardId_ = 0;
      onChanged();
      return this;
    }

    private int avatarId_ ;
    /**
     * <code>uint32 avatar_id = 4;</code>
     * @return The avatarId.
     */
    @java.lang.Override
    public int getAvatarId() {
      return avatarId_;
    }
    /**
     * <code>uint32 avatar_id = 4;</code>
     * @param value The avatarId to set.
     * @return This builder for chaining.
     */
    public Builder setAvatarId(int value) {
      
      avatarId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 avatar_id = 4;</code>
     * @return This builder for chaining.
     */
    public Builder clearAvatarId() {
      
      avatarId_ = 0;
      onChanged();
      return this;
    }

    private int worldLevel_ ;
    /**
     * <code>uint32 world_level = 5;</code>
     * @return The worldLevel.
     */
    @java.lang.Override
    public int getWorldLevel() {
      return worldLevel_;
    }
    /**
     * <code>uint32 world_level = 5;</code>
     * @param value The worldLevel to set.
     * @return This builder for chaining.
     */
    public Builder setWorldLevel(int value) {
      
      worldLevel_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 world_level = 5;</code>
     * @return This builder for chaining.
     */
    public Builder clearWorldLevel() {
      
      worldLevel_ = 0;
      onChanged();
      return this;
    }

    private int mpPlayerNum_ ;
    /**
     * <code>uint32 mp_player_num = 14;</code>
     * @return The mpPlayerNum.
     */
    @java.lang.Override
    public int getMpPlayerNum() {
      return mpPlayerNum_;
    }
    /**
     * <code>uint32 mp_player_num = 14;</code>
     * @param value The mpPlayerNum to set.
     * @return This builder for chaining.
     */
    public Builder setMpPlayerNum(int value) {
      
      mpPlayerNum_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 mp_player_num = 14;</code>
     * @return This builder for chaining.
     */
    public Builder clearMpPlayerNum() {
      
      mpPlayerNum_ = 0;
      onChanged();
      return this;
    }

    private boolean isPsnSource_ ;
    /**
     * <code>bool is_psn_source = 26;</code>
     * @return The isPsnSource.
     */
    @java.lang.Override
    public boolean getIsPsnSource() {
      return isPsnSource_;
    }
    /**
     * <code>bool is_psn_source = 26;</code>
     * @param value The isPsnSource to set.
     * @return This builder for chaining.
     */
    public Builder setIsPsnSource(boolean value) {
      
      isPsnSource_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_psn_source = 26;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsPsnSource() {
      
      isPsnSource_ = false;
      onChanged();
      return this;
    }

    private boolean isChatNoDisturb_ ;
    /**
     * <code>bool is_chat_no_disturb = 15;</code>
     * @return The isChatNoDisturb.
     */
    @java.lang.Override
    public boolean getIsChatNoDisturb() {
      return isChatNoDisturb_;
    }
    /**
     * <code>bool is_chat_no_disturb = 15;</code>
     * @param value The isChatNoDisturb to set.
     * @return This builder for chaining.
     */
    public Builder setIsChatNoDisturb(boolean value) {
      
      isChatNoDisturb_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_chat_no_disturb = 15;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsChatNoDisturb() {
      
      isChatNoDisturb_ = false;
      onChanged();
      return this;
    }

    private boolean dPLLLEKLOEI_ ;
    /**
     * <code>bool DPLLLEKLOEI = 28;</code>
     * @return The dPLLLEKLOEI.
     */
    @java.lang.Override
    public boolean getDPLLLEKLOEI() {
      return dPLLLEKLOEI_;
    }
    /**
     * <code>bool DPLLLEKLOEI = 28;</code>
     * @param value The dPLLLEKLOEI to set.
     * @return This builder for chaining.
     */
    public Builder setDPLLLEKLOEI(boolean value) {
      
      dPLLLEKLOEI_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool DPLLLEKLOEI = 28;</code>
     * @return This builder for chaining.
     */
    public Builder clearDPLLLEKLOEI() {
      
      dPLLLEKLOEI_ = false;
      onChanged();
      return this;
    }

    private boolean nEANBGINFPF_ ;
    /**
     * <code>bool NEANBGINFPF = 29;</code>
     * @return The nEANBGINFPF.
     */
    @java.lang.Override
    public boolean getNEANBGINFPF() {
      return nEANBGINFPF_;
    }
    /**
     * <code>bool NEANBGINFPF = 29;</code>
     * @param value The nEANBGINFPF to set.
     * @return This builder for chaining.
     */
    public Builder setNEANBGINFPF(boolean value) {
      
      nEANBGINFPF_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool NEANBGINFPF = 29;</code>
     * @return This builder for chaining.
     */
    public Builder clearNEANBGINFPF() {
      
      nEANBGINFPF_ = false;
      onChanged();
      return this;
    }

    private int uid_ ;
    /**
     * <code>uint32 uid = 1;</code>
     * @return The uid.
     */
    @java.lang.Override
    public int getUid() {
      return uid_;
    }
    /**
     * <code>uint32 uid = 1;</code>
     * @param value The uid to set.
     * @return This builder for chaining.
     */
    public Builder setUid(int value) {
      
      uid_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 uid = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearUid() {
      
      uid_ = 0;
      onChanged();
      return this;
    }

    private int friendEnterHomeOption_ = 0;
    /**
     * <code>.FriendEnterHomeOption friend_enter_home_option = 23;</code>
     * @return The enum numeric value on the wire for friendEnterHomeOption.
     */
    @java.lang.Override public int getFriendEnterHomeOptionValue() {
      return friendEnterHomeOption_;
    }
    /**
     * <code>.FriendEnterHomeOption friend_enter_home_option = 23;</code>
     * @param value The enum numeric value on the wire for friendEnterHomeOption to set.
     * @return This builder for chaining.
     */
    public Builder setFriendEnterHomeOptionValue(int value) {
      
      friendEnterHomeOption_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>.FriendEnterHomeOption friend_enter_home_option = 23;</code>
     * @return The friendEnterHomeOption.
     */
    @java.lang.Override
    public io.grasscutter.net.proto.define.FriendEnterHomeOption getFriendEnterHomeOption() {
      @SuppressWarnings("deprecation")
      io.grasscutter.net.proto.define.FriendEnterHomeOption result = io.grasscutter.net.proto.define.FriendEnterHomeOption.valueOf(friendEnterHomeOption_);
      return result == null ? io.grasscutter.net.proto.define.FriendEnterHomeOption.UNRECOGNIZED : result;
    }
    /**
     * <code>.FriendEnterHomeOption friend_enter_home_option = 23;</code>
     * @param value The friendEnterHomeOption to set.
     * @return This builder for chaining.
     */
    public Builder setFriendEnterHomeOption(io.grasscutter.net.proto.define.FriendEnterHomeOption value) {
      if (value == null) {
        throw new NullPointerException();
      }
      
      friendEnterHomeOption_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * <code>.FriendEnterHomeOption friend_enter_home_option = 23;</code>
     * @return This builder for chaining.
     */
    public Builder clearFriendEnterHomeOption() {
      
      friendEnterHomeOption_ = 0;
      onChanged();
      return this;
    }

    private boolean isGameSource_ ;
    /**
     * <code>bool is_game_source = 25;</code>
     * @return The isGameSource.
     */
    @java.lang.Override
    public boolean getIsGameSource() {
      return isGameSource_;
    }
    /**
     * <code>bool is_game_source = 25;</code>
     * @param value The isGameSource to set.
     * @return This builder for chaining.
     */
    public Builder setIsGameSource(boolean value) {
      
      isGameSource_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_game_source = 25;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsGameSource() {
      
      isGameSource_ = false;
      onChanged();
      return this;
    }

    private boolean jADDAKOJMBB_ ;
    /**
     * <code>bool JADDAKOJMBB = 30;</code>
     * @return The jADDAKOJMBB.
     */
    @java.lang.Override
    public boolean getJADDAKOJMBB() {
      return jADDAKOJMBB_;
    }
    /**
     * <code>bool JADDAKOJMBB = 30;</code>
     * @param value The jADDAKOJMBB to set.
     * @return This builder for chaining.
     */
    public Builder setJADDAKOJMBB(boolean value) {
      
      jADDAKOJMBB_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool JADDAKOJMBB = 30;</code>
     * @return This builder for chaining.
     */
    public Builder clearJADDAKOJMBB() {
      
      jADDAKOJMBB_ = false;
      onChanged();
      return this;
    }

    private boolean isMpModeAvailable_ ;
    /**
     * <code>bool is_mp_mode_available = 10;</code>
     * @return The isMpModeAvailable.
     */
    @java.lang.Override
    public boolean getIsMpModeAvailable() {
      return isMpModeAvailable_;
    }
    /**
     * <code>bool is_mp_mode_available = 10;</code>
     * @param value The isMpModeAvailable to set.
     * @return This builder for chaining.
     */
    public Builder setIsMpModeAvailable(boolean value) {
      
      isMpModeAvailable_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_mp_mode_available = 10;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsMpModeAvailable() {
      
      isMpModeAvailable_ = false;
      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:FriendBrief)
  }

  // @@protoc_insertion_point(class_scope:FriendBrief)
  private static final io.grasscutter.net.proto.social.FriendBrief DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new io.grasscutter.net.proto.social.FriendBrief();
  }

  public static io.grasscutter.net.proto.social.FriendBrief getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

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

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

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

  @java.lang.Override
  public io.grasscutter.net.proto.social.FriendBrief getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

