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

package com.akaxin.proto.site;

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

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

    /**
     * <pre>
     *消息类型
     * </pre>
     *
     * <code>.core.MsgType type = 1;</code>
     */
    int getTypeValue();
    /**
     * <pre>
     *消息类型
     * </pre>
     *
     * <code>.core.MsgType type = 1;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgType getType();

    /**
     * <pre>
     *二人文本消息
     * </pre>
     *
     * <code>.core.MsgText text = 2;</code>
     */
    boolean hasText();
    /**
     * <pre>
     *二人文本消息
     * </pre>
     *
     * <code>.core.MsgText text = 2;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgText getText();
    /**
     * <pre>
     *二人文本消息
     * </pre>
     *
     * <code>.core.MsgText text = 2;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgTextOrBuilder getTextOrBuilder();

    /**
     * <pre>
     *二人加密文本消息
     * </pre>
     *
     * <code>.core.MsgSecretText secretText = 3;</code>
     */
    boolean hasSecretText();
    /**
     * <pre>
     *二人加密文本消息
     * </pre>
     *
     * <code>.core.MsgSecretText secretText = 3;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgSecretText getSecretText();
    /**
     * <pre>
     *二人加密文本消息
     * </pre>
     *
     * <code>.core.MsgSecretText secretText = 3;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgSecretTextOrBuilder getSecretTextOrBuilder();

    /**
     * <pre>
     *群文本消息
     * </pre>
     *
     * <code>.core.GroupText groupText = 4;</code>
     */
    boolean hasGroupText();
    /**
     * <pre>
     *群文本消息
     * </pre>
     *
     * <code>.core.GroupText groupText = 4;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupText getGroupText();
    /**
     * <pre>
     *群文本消息
     * </pre>
     *
     * <code>.core.GroupText groupText = 4;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupTextOrBuilder getGroupTextOrBuilder();

    /**
     * <pre>
     *群加密消息
     * </pre>
     *
     * <code>.core.GroupSecretText groupSecretText = 5;</code>
     */
    boolean hasGroupSecretText();
    /**
     * <pre>
     *群加密消息
     * </pre>
     *
     * <code>.core.GroupSecretText groupSecretText = 5;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretText getGroupSecretText();
    /**
     * <pre>
     *群加密消息
     * </pre>
     *
     * <code>.core.GroupSecretText groupSecretText = 5;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretTextOrBuilder getGroupSecretTextOrBuilder();

    /**
     * <pre>
     *二人图片消息
     * </pre>
     *
     * <code>.core.MsgImage image = 6;</code>
     */
    boolean hasImage();
    /**
     * <pre>
     *二人图片消息
     * </pre>
     *
     * <code>.core.MsgImage image = 6;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgImage getImage();
    /**
     * <pre>
     *二人图片消息
     * </pre>
     *
     * <code>.core.MsgImage image = 6;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgImageOrBuilder getImageOrBuilder();

    /**
     * <pre>
     *二人加密图片消息
     * </pre>
     *
     * <code>.core.MsgSecretImage secretImage = 7;</code>
     */
    boolean hasSecretImage();
    /**
     * <pre>
     *二人加密图片消息
     * </pre>
     *
     * <code>.core.MsgSecretImage secretImage = 7;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgSecretImage getSecretImage();
    /**
     * <pre>
     *二人加密图片消息
     * </pre>
     *
     * <code>.core.MsgSecretImage secretImage = 7;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgSecretImageOrBuilder getSecretImageOrBuilder();

    /**
     * <pre>
     *群图片消息
     * </pre>
     *
     * <code>.core.GroupImage groupImage = 8;</code>
     */
    boolean hasGroupImage();
    /**
     * <pre>
     *群图片消息
     * </pre>
     *
     * <code>.core.GroupImage groupImage = 8;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupImage getGroupImage();
    /**
     * <pre>
     *群图片消息
     * </pre>
     *
     * <code>.core.GroupImage groupImage = 8;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupImageOrBuilder getGroupImageOrBuilder();

    /**
     * <pre>
     *群图片加密消息
     * </pre>
     *
     * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
     */
    boolean hasGroupSecretImage();
    /**
     * <pre>
     *群图片加密消息
     * </pre>
     *
     * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretImage getGroupSecretImage();
    /**
     * <pre>
     *群图片加密消息
     * </pre>
     *
     * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretImageOrBuilder getGroupSecretImageOrBuilder();

    /**
     * <pre>
     *二人语音
     * </pre>
     *
     * <code>.core.MsgVoice voice = 10;</code>
     */
    boolean hasVoice();
    /**
     * <pre>
     *二人语音
     * </pre>
     *
     * <code>.core.MsgVoice voice = 10;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgVoice getVoice();
    /**
     * <pre>
     *二人语音
     * </pre>
     *
     * <code>.core.MsgVoice voice = 10;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgVoiceOrBuilder getVoiceOrBuilder();

    /**
     * <pre>
     *二人加密语音
     * </pre>
     *
     * <code>.core.MsgSecretVoice secretVoice = 11;</code>
     */
    boolean hasSecretVoice();
    /**
     * <pre>
     *二人加密语音
     * </pre>
     *
     * <code>.core.MsgSecretVoice secretVoice = 11;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgSecretVoice getSecretVoice();
    /**
     * <pre>
     *二人加密语音
     * </pre>
     *
     * <code>.core.MsgSecretVoice secretVoice = 11;</code>
     */
    com.akaxin.proto.core.CoreProto.MsgSecretVoiceOrBuilder getSecretVoiceOrBuilder();

    /**
     * <pre>
     *群语音
     * </pre>
     *
     * <code>.core.GroupVoice groupVoice = 12;</code>
     */
    boolean hasGroupVoice();
    /**
     * <pre>
     *群语音
     * </pre>
     *
     * <code>.core.GroupVoice groupVoice = 12;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupVoice getGroupVoice();
    /**
     * <pre>
     *群语音
     * </pre>
     *
     * <code>.core.GroupVoice groupVoice = 12;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupVoiceOrBuilder getGroupVoiceOrBuilder();

    /**
     * <pre>
     *群加密语音
     * </pre>
     *
     * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
     */
    boolean hasGroupSecretVoice();
    /**
     * <pre>
     *群加密语音
     * </pre>
     *
     * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretVoice getGroupSecretVoice();
    /**
     * <pre>
     *群加密语音
     * </pre>
     *
     * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretVoiceOrBuilder getGroupSecretVoiceOrBuilder();

    /**
     * <pre>
     *v0.4.3 版本未使用
     * </pre>
     *
     * <code>.core.U2Map u2Map = 14;</code>
     */
    boolean hasU2Map();
    /**
     * <pre>
     *v0.4.3 版本未使用
     * </pre>
     *
     * <code>.core.U2Map u2Map = 14;</code>
     */
    com.akaxin.proto.core.CoreProto.U2Map getU2Map();
    /**
     * <pre>
     *v0.4.3 版本未使用
     * </pre>
     *
     * <code>.core.U2Map u2Map = 14;</code>
     */
    com.akaxin.proto.core.CoreProto.U2MapOrBuilder getU2MapOrBuilder();

    /**
     * <pre>
     *加密地图消息
     * </pre>
     *
     * <code>.core.U2SecretMap u2SecretMap = 15;</code>
     */
    boolean hasU2SecretMap();
    /**
     * <pre>
     *加密地图消息
     * </pre>
     *
     * <code>.core.U2SecretMap u2SecretMap = 15;</code>
     */
    com.akaxin.proto.core.CoreProto.U2SecretMap getU2SecretMap();
    /**
     * <pre>
     *加密地图消息
     * </pre>
     *
     * <code>.core.U2SecretMap u2SecretMap = 15;</code>
     */
    com.akaxin.proto.core.CoreProto.U2SecretMapOrBuilder getU2SecretMapOrBuilder();

    /**
     * <pre>
     *群地图
     * </pre>
     *
     * <code>.core.GroupMap groupMap = 16;</code>
     */
    boolean hasGroupMap();
    /**
     * <pre>
     *群地图
     * </pre>
     *
     * <code>.core.GroupMap groupMap = 16;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupMap getGroupMap();
    /**
     * <pre>
     *群地图
     * </pre>
     *
     * <code>.core.GroupMap groupMap = 16;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupMapOrBuilder getGroupMapOrBuilder();

    /**
     * <pre>
     *群加密地图
     * </pre>
     *
     * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
     */
    boolean hasGroupSecretMap();
    /**
     * <pre>
     *群加密地图
     * </pre>
     *
     * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretMap getGroupSecretMap();
    /**
     * <pre>
     *群加密地图
     * </pre>
     *
     * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupSecretMapOrBuilder getGroupSecretMapOrBuilder();

    /**
     * <pre>
     *通知消息
     * </pre>
     *
     * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
     */
    boolean hasU2MsgNotice();
    /**
     * <pre>
     *通知消息
     * </pre>
     *
     * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
     */
    com.akaxin.proto.core.CoreProto.U2MsgNotice getU2MsgNotice();
    /**
     * <pre>
     *通知消息
     * </pre>
     *
     * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
     */
    com.akaxin.proto.core.CoreProto.U2MsgNoticeOrBuilder getU2MsgNoticeOrBuilder();

    /**
     * <pre>
     *群消息通知
     * </pre>
     *
     * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
     */
    boolean hasGroupMsgNotice();
    /**
     * <pre>
     *群消息通知
     * </pre>
     *
     * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupMsgNotice getGroupMsgNotice();
    /**
     * <pre>
     *群消息通知
     * </pre>
     *
     * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupMsgNoticeOrBuilder getGroupMsgNoticeOrBuilder();

    /**
     * <pre>
     *召回消息
     * </pre>
     *
     * <code>.core.U2Recall u2Recall = 20;</code>
     */
    boolean hasU2Recall();
    /**
     * <pre>
     *召回消息
     * </pre>
     *
     * <code>.core.U2Recall u2Recall = 20;</code>
     */
    com.akaxin.proto.core.CoreProto.U2Recall getU2Recall();
    /**
     * <pre>
     *召回消息
     * </pre>
     *
     * <code>.core.U2Recall u2Recall = 20;</code>
     */
    com.akaxin.proto.core.CoreProto.U2RecallOrBuilder getU2RecallOrBuilder();

    /**
     * <pre>
     *群组召回消息
     * </pre>
     *
     * <code>.core.GroupRecall groupRecall = 21;</code>
     */
    boolean hasGroupRecall();
    /**
     * <pre>
     *群组召回消息
     * </pre>
     *
     * <code>.core.GroupRecall groupRecall = 21;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupRecall getGroupRecall();
    /**
     * <pre>
     *群组召回消息
     * </pre>
     *
     * <code>.core.GroupRecall groupRecall = 21;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupRecallOrBuilder getGroupRecallOrBuilder();

    /**
     * <pre>
     *web消息
     * </pre>
     *
     * <code>.core.U2Web u2Web = 22;</code>
     */
    boolean hasU2Web();
    /**
     * <pre>
     *web消息
     * </pre>
     *
     * <code>.core.U2Web u2Web = 22;</code>
     */
    com.akaxin.proto.core.CoreProto.U2Web getU2Web();
    /**
     * <pre>
     *web消息
     * </pre>
     *
     * <code>.core.U2Web u2Web = 22;</code>
     */
    com.akaxin.proto.core.CoreProto.U2WebOrBuilder getU2WebOrBuilder();

    /**
     * <pre>
     *群组web消息
     * </pre>
     *
     * <code>.core.GroupWeb groupWeb = 23;</code>
     */
    boolean hasGroupWeb();
    /**
     * <pre>
     *群组web消息
     * </pre>
     *
     * <code>.core.GroupWeb groupWeb = 23;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupWeb getGroupWeb();
    /**
     * <pre>
     *群组web消息
     * </pre>
     *
     * <code>.core.GroupWeb groupWeb = 23;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupWebOrBuilder getGroupWebOrBuilder();

    /**
     * <pre>
     *web通知消息
     * </pre>
     *
     * <code>.core.U2WebNotice u2WebNotice = 24;</code>
     */
    boolean hasU2WebNotice();
    /**
     * <pre>
     *web通知消息
     * </pre>
     *
     * <code>.core.U2WebNotice u2WebNotice = 24;</code>
     */
    com.akaxin.proto.core.CoreProto.U2WebNotice getU2WebNotice();
    /**
     * <pre>
     *web通知消息
     * </pre>
     *
     * <code>.core.U2WebNotice u2WebNotice = 24;</code>
     */
    com.akaxin.proto.core.CoreProto.U2WebNoticeOrBuilder getU2WebNoticeOrBuilder();

    /**
     * <pre>
     *群组web通知消息
     * </pre>
     *
     * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
     */
    boolean hasGroupWebNotice();
    /**
     * <pre>
     *群组web通知消息
     * </pre>
     *
     * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupWebNotice getGroupWebNotice();
    /**
     * <pre>
     *群组web通知消息
     * </pre>
     *
     * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
     */
    com.akaxin.proto.core.CoreProto.GroupWebNoticeOrBuilder getGroupWebNoticeOrBuilder();
  }
  /**
   * Protobuf type {@code site.ImCtsMessageRequest}
   */
  public  static final class ImCtsMessageRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:site.ImCtsMessageRequest)
      ImCtsMessageRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ImCtsMessageRequest.newBuilder() to construct.
    private ImCtsMessageRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ImCtsMessageRequest() {
      type_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ImCtsMessageRequest(
        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;
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();

              type_ = rawValue;
              break;
            }
            case 18: {
              com.akaxin.proto.core.CoreProto.MsgText.Builder subBuilder = null;
              if (text_ != null) {
                subBuilder = text_.toBuilder();
              }
              text_ = input.readMessage(com.akaxin.proto.core.CoreProto.MsgText.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(text_);
                text_ = subBuilder.buildPartial();
              }

              break;
            }
            case 26: {
              com.akaxin.proto.core.CoreProto.MsgSecretText.Builder subBuilder = null;
              if (secretText_ != null) {
                subBuilder = secretText_.toBuilder();
              }
              secretText_ = input.readMessage(com.akaxin.proto.core.CoreProto.MsgSecretText.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(secretText_);
                secretText_ = subBuilder.buildPartial();
              }

              break;
            }
            case 34: {
              com.akaxin.proto.core.CoreProto.GroupText.Builder subBuilder = null;
              if (groupText_ != null) {
                subBuilder = groupText_.toBuilder();
              }
              groupText_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupText.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupText_);
                groupText_ = subBuilder.buildPartial();
              }

              break;
            }
            case 42: {
              com.akaxin.proto.core.CoreProto.GroupSecretText.Builder subBuilder = null;
              if (groupSecretText_ != null) {
                subBuilder = groupSecretText_.toBuilder();
              }
              groupSecretText_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupSecretText.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupSecretText_);
                groupSecretText_ = subBuilder.buildPartial();
              }

              break;
            }
            case 50: {
              com.akaxin.proto.core.CoreProto.MsgImage.Builder subBuilder = null;
              if (image_ != null) {
                subBuilder = image_.toBuilder();
              }
              image_ = input.readMessage(com.akaxin.proto.core.CoreProto.MsgImage.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(image_);
                image_ = subBuilder.buildPartial();
              }

              break;
            }
            case 58: {
              com.akaxin.proto.core.CoreProto.MsgSecretImage.Builder subBuilder = null;
              if (secretImage_ != null) {
                subBuilder = secretImage_.toBuilder();
              }
              secretImage_ = input.readMessage(com.akaxin.proto.core.CoreProto.MsgSecretImage.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(secretImage_);
                secretImage_ = subBuilder.buildPartial();
              }

              break;
            }
            case 66: {
              com.akaxin.proto.core.CoreProto.GroupImage.Builder subBuilder = null;
              if (groupImage_ != null) {
                subBuilder = groupImage_.toBuilder();
              }
              groupImage_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupImage.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupImage_);
                groupImage_ = subBuilder.buildPartial();
              }

              break;
            }
            case 74: {
              com.akaxin.proto.core.CoreProto.GroupSecretImage.Builder subBuilder = null;
              if (groupSecretImage_ != null) {
                subBuilder = groupSecretImage_.toBuilder();
              }
              groupSecretImage_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupSecretImage.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupSecretImage_);
                groupSecretImage_ = subBuilder.buildPartial();
              }

              break;
            }
            case 82: {
              com.akaxin.proto.core.CoreProto.MsgVoice.Builder subBuilder = null;
              if (voice_ != null) {
                subBuilder = voice_.toBuilder();
              }
              voice_ = input.readMessage(com.akaxin.proto.core.CoreProto.MsgVoice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(voice_);
                voice_ = subBuilder.buildPartial();
              }

              break;
            }
            case 90: {
              com.akaxin.proto.core.CoreProto.MsgSecretVoice.Builder subBuilder = null;
              if (secretVoice_ != null) {
                subBuilder = secretVoice_.toBuilder();
              }
              secretVoice_ = input.readMessage(com.akaxin.proto.core.CoreProto.MsgSecretVoice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(secretVoice_);
                secretVoice_ = subBuilder.buildPartial();
              }

              break;
            }
            case 98: {
              com.akaxin.proto.core.CoreProto.GroupVoice.Builder subBuilder = null;
              if (groupVoice_ != null) {
                subBuilder = groupVoice_.toBuilder();
              }
              groupVoice_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupVoice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupVoice_);
                groupVoice_ = subBuilder.buildPartial();
              }

              break;
            }
            case 106: {
              com.akaxin.proto.core.CoreProto.GroupSecretVoice.Builder subBuilder = null;
              if (groupSecretVoice_ != null) {
                subBuilder = groupSecretVoice_.toBuilder();
              }
              groupSecretVoice_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupSecretVoice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupSecretVoice_);
                groupSecretVoice_ = subBuilder.buildPartial();
              }

              break;
            }
            case 114: {
              com.akaxin.proto.core.CoreProto.U2Map.Builder subBuilder = null;
              if (u2Map_ != null) {
                subBuilder = u2Map_.toBuilder();
              }
              u2Map_ = input.readMessage(com.akaxin.proto.core.CoreProto.U2Map.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(u2Map_);
                u2Map_ = subBuilder.buildPartial();
              }

              break;
            }
            case 122: {
              com.akaxin.proto.core.CoreProto.U2SecretMap.Builder subBuilder = null;
              if (u2SecretMap_ != null) {
                subBuilder = u2SecretMap_.toBuilder();
              }
              u2SecretMap_ = input.readMessage(com.akaxin.proto.core.CoreProto.U2SecretMap.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(u2SecretMap_);
                u2SecretMap_ = subBuilder.buildPartial();
              }

              break;
            }
            case 130: {
              com.akaxin.proto.core.CoreProto.GroupMap.Builder subBuilder = null;
              if (groupMap_ != null) {
                subBuilder = groupMap_.toBuilder();
              }
              groupMap_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupMap.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupMap_);
                groupMap_ = subBuilder.buildPartial();
              }

              break;
            }
            case 138: {
              com.akaxin.proto.core.CoreProto.GroupSecretMap.Builder subBuilder = null;
              if (groupSecretMap_ != null) {
                subBuilder = groupSecretMap_.toBuilder();
              }
              groupSecretMap_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupSecretMap.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupSecretMap_);
                groupSecretMap_ = subBuilder.buildPartial();
              }

              break;
            }
            case 146: {
              com.akaxin.proto.core.CoreProto.U2MsgNotice.Builder subBuilder = null;
              if (u2MsgNotice_ != null) {
                subBuilder = u2MsgNotice_.toBuilder();
              }
              u2MsgNotice_ = input.readMessage(com.akaxin.proto.core.CoreProto.U2MsgNotice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(u2MsgNotice_);
                u2MsgNotice_ = subBuilder.buildPartial();
              }

              break;
            }
            case 154: {
              com.akaxin.proto.core.CoreProto.GroupMsgNotice.Builder subBuilder = null;
              if (groupMsgNotice_ != null) {
                subBuilder = groupMsgNotice_.toBuilder();
              }
              groupMsgNotice_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupMsgNotice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupMsgNotice_);
                groupMsgNotice_ = subBuilder.buildPartial();
              }

              break;
            }
            case 162: {
              com.akaxin.proto.core.CoreProto.U2Recall.Builder subBuilder = null;
              if (u2Recall_ != null) {
                subBuilder = u2Recall_.toBuilder();
              }
              u2Recall_ = input.readMessage(com.akaxin.proto.core.CoreProto.U2Recall.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(u2Recall_);
                u2Recall_ = subBuilder.buildPartial();
              }

              break;
            }
            case 170: {
              com.akaxin.proto.core.CoreProto.GroupRecall.Builder subBuilder = null;
              if (groupRecall_ != null) {
                subBuilder = groupRecall_.toBuilder();
              }
              groupRecall_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupRecall.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupRecall_);
                groupRecall_ = subBuilder.buildPartial();
              }

              break;
            }
            case 178: {
              com.akaxin.proto.core.CoreProto.U2Web.Builder subBuilder = null;
              if (u2Web_ != null) {
                subBuilder = u2Web_.toBuilder();
              }
              u2Web_ = input.readMessage(com.akaxin.proto.core.CoreProto.U2Web.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(u2Web_);
                u2Web_ = subBuilder.buildPartial();
              }

              break;
            }
            case 186: {
              com.akaxin.proto.core.CoreProto.GroupWeb.Builder subBuilder = null;
              if (groupWeb_ != null) {
                subBuilder = groupWeb_.toBuilder();
              }
              groupWeb_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupWeb.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupWeb_);
                groupWeb_ = subBuilder.buildPartial();
              }

              break;
            }
            case 194: {
              com.akaxin.proto.core.CoreProto.U2WebNotice.Builder subBuilder = null;
              if (u2WebNotice_ != null) {
                subBuilder = u2WebNotice_.toBuilder();
              }
              u2WebNotice_ = input.readMessage(com.akaxin.proto.core.CoreProto.U2WebNotice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(u2WebNotice_);
                u2WebNotice_ = subBuilder.buildPartial();
              }

              break;
            }
            case 202: {
              com.akaxin.proto.core.CoreProto.GroupWebNotice.Builder subBuilder = null;
              if (groupWebNotice_ != null) {
                subBuilder = groupWebNotice_.toBuilder();
              }
              groupWebNotice_ = input.readMessage(com.akaxin.proto.core.CoreProto.GroupWebNotice.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(groupWebNotice_);
                groupWebNotice_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.akaxin.proto.site.ImCtsMessageProto.internal_static_site_ImCtsMessageRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.akaxin.proto.site.ImCtsMessageProto.internal_static_site_ImCtsMessageRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest.class, com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest.Builder.class);
    }

    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * <pre>
     *消息类型
     * </pre>
     *
     * <code>.core.MsgType type = 1;</code>
     */
    public int getTypeValue() {
      return type_;
    }
    /**
     * <pre>
     *消息类型
     * </pre>
     *
     * <code>.core.MsgType type = 1;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgType getType() {
      com.akaxin.proto.core.CoreProto.MsgType result = com.akaxin.proto.core.CoreProto.MsgType.valueOf(type_);
      return result == null ? com.akaxin.proto.core.CoreProto.MsgType.UNRECOGNIZED : result;
    }

    public static final int TEXT_FIELD_NUMBER = 2;
    private com.akaxin.proto.core.CoreProto.MsgText text_;
    /**
     * <pre>
     *二人文本消息
     * </pre>
     *
     * <code>.core.MsgText text = 2;</code>
     */
    public boolean hasText() {
      return text_ != null;
    }
    /**
     * <pre>
     *二人文本消息
     * </pre>
     *
     * <code>.core.MsgText text = 2;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgText getText() {
      return text_ == null ? com.akaxin.proto.core.CoreProto.MsgText.getDefaultInstance() : text_;
    }
    /**
     * <pre>
     *二人文本消息
     * </pre>
     *
     * <code>.core.MsgText text = 2;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgTextOrBuilder getTextOrBuilder() {
      return getText();
    }

    public static final int SECRETTEXT_FIELD_NUMBER = 3;
    private com.akaxin.proto.core.CoreProto.MsgSecretText secretText_;
    /**
     * <pre>
     *二人加密文本消息
     * </pre>
     *
     * <code>.core.MsgSecretText secretText = 3;</code>
     */
    public boolean hasSecretText() {
      return secretText_ != null;
    }
    /**
     * <pre>
     *二人加密文本消息
     * </pre>
     *
     * <code>.core.MsgSecretText secretText = 3;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgSecretText getSecretText() {
      return secretText_ == null ? com.akaxin.proto.core.CoreProto.MsgSecretText.getDefaultInstance() : secretText_;
    }
    /**
     * <pre>
     *二人加密文本消息
     * </pre>
     *
     * <code>.core.MsgSecretText secretText = 3;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgSecretTextOrBuilder getSecretTextOrBuilder() {
      return getSecretText();
    }

    public static final int GROUPTEXT_FIELD_NUMBER = 4;
    private com.akaxin.proto.core.CoreProto.GroupText groupText_;
    /**
     * <pre>
     *群文本消息
     * </pre>
     *
     * <code>.core.GroupText groupText = 4;</code>
     */
    public boolean hasGroupText() {
      return groupText_ != null;
    }
    /**
     * <pre>
     *群文本消息
     * </pre>
     *
     * <code>.core.GroupText groupText = 4;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupText getGroupText() {
      return groupText_ == null ? com.akaxin.proto.core.CoreProto.GroupText.getDefaultInstance() : groupText_;
    }
    /**
     * <pre>
     *群文本消息
     * </pre>
     *
     * <code>.core.GroupText groupText = 4;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupTextOrBuilder getGroupTextOrBuilder() {
      return getGroupText();
    }

    public static final int GROUPSECRETTEXT_FIELD_NUMBER = 5;
    private com.akaxin.proto.core.CoreProto.GroupSecretText groupSecretText_;
    /**
     * <pre>
     *群加密消息
     * </pre>
     *
     * <code>.core.GroupSecretText groupSecretText = 5;</code>
     */
    public boolean hasGroupSecretText() {
      return groupSecretText_ != null;
    }
    /**
     * <pre>
     *群加密消息
     * </pre>
     *
     * <code>.core.GroupSecretText groupSecretText = 5;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretText getGroupSecretText() {
      return groupSecretText_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretText.getDefaultInstance() : groupSecretText_;
    }
    /**
     * <pre>
     *群加密消息
     * </pre>
     *
     * <code>.core.GroupSecretText groupSecretText = 5;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretTextOrBuilder getGroupSecretTextOrBuilder() {
      return getGroupSecretText();
    }

    public static final int IMAGE_FIELD_NUMBER = 6;
    private com.akaxin.proto.core.CoreProto.MsgImage image_;
    /**
     * <pre>
     *二人图片消息
     * </pre>
     *
     * <code>.core.MsgImage image = 6;</code>
     */
    public boolean hasImage() {
      return image_ != null;
    }
    /**
     * <pre>
     *二人图片消息
     * </pre>
     *
     * <code>.core.MsgImage image = 6;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgImage getImage() {
      return image_ == null ? com.akaxin.proto.core.CoreProto.MsgImage.getDefaultInstance() : image_;
    }
    /**
     * <pre>
     *二人图片消息
     * </pre>
     *
     * <code>.core.MsgImage image = 6;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgImageOrBuilder getImageOrBuilder() {
      return getImage();
    }

    public static final int SECRETIMAGE_FIELD_NUMBER = 7;
    private com.akaxin.proto.core.CoreProto.MsgSecretImage secretImage_;
    /**
     * <pre>
     *二人加密图片消息
     * </pre>
     *
     * <code>.core.MsgSecretImage secretImage = 7;</code>
     */
    public boolean hasSecretImage() {
      return secretImage_ != null;
    }
    /**
     * <pre>
     *二人加密图片消息
     * </pre>
     *
     * <code>.core.MsgSecretImage secretImage = 7;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgSecretImage getSecretImage() {
      return secretImage_ == null ? com.akaxin.proto.core.CoreProto.MsgSecretImage.getDefaultInstance() : secretImage_;
    }
    /**
     * <pre>
     *二人加密图片消息
     * </pre>
     *
     * <code>.core.MsgSecretImage secretImage = 7;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgSecretImageOrBuilder getSecretImageOrBuilder() {
      return getSecretImage();
    }

    public static final int GROUPIMAGE_FIELD_NUMBER = 8;
    private com.akaxin.proto.core.CoreProto.GroupImage groupImage_;
    /**
     * <pre>
     *群图片消息
     * </pre>
     *
     * <code>.core.GroupImage groupImage = 8;</code>
     */
    public boolean hasGroupImage() {
      return groupImage_ != null;
    }
    /**
     * <pre>
     *群图片消息
     * </pre>
     *
     * <code>.core.GroupImage groupImage = 8;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupImage getGroupImage() {
      return groupImage_ == null ? com.akaxin.proto.core.CoreProto.GroupImage.getDefaultInstance() : groupImage_;
    }
    /**
     * <pre>
     *群图片消息
     * </pre>
     *
     * <code>.core.GroupImage groupImage = 8;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupImageOrBuilder getGroupImageOrBuilder() {
      return getGroupImage();
    }

    public static final int GROUPSECRETIMAGE_FIELD_NUMBER = 9;
    private com.akaxin.proto.core.CoreProto.GroupSecretImage groupSecretImage_;
    /**
     * <pre>
     *群图片加密消息
     * </pre>
     *
     * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
     */
    public boolean hasGroupSecretImage() {
      return groupSecretImage_ != null;
    }
    /**
     * <pre>
     *群图片加密消息
     * </pre>
     *
     * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretImage getGroupSecretImage() {
      return groupSecretImage_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretImage.getDefaultInstance() : groupSecretImage_;
    }
    /**
     * <pre>
     *群图片加密消息
     * </pre>
     *
     * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretImageOrBuilder getGroupSecretImageOrBuilder() {
      return getGroupSecretImage();
    }

    public static final int VOICE_FIELD_NUMBER = 10;
    private com.akaxin.proto.core.CoreProto.MsgVoice voice_;
    /**
     * <pre>
     *二人语音
     * </pre>
     *
     * <code>.core.MsgVoice voice = 10;</code>
     */
    public boolean hasVoice() {
      return voice_ != null;
    }
    /**
     * <pre>
     *二人语音
     * </pre>
     *
     * <code>.core.MsgVoice voice = 10;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgVoice getVoice() {
      return voice_ == null ? com.akaxin.proto.core.CoreProto.MsgVoice.getDefaultInstance() : voice_;
    }
    /**
     * <pre>
     *二人语音
     * </pre>
     *
     * <code>.core.MsgVoice voice = 10;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgVoiceOrBuilder getVoiceOrBuilder() {
      return getVoice();
    }

    public static final int SECRETVOICE_FIELD_NUMBER = 11;
    private com.akaxin.proto.core.CoreProto.MsgSecretVoice secretVoice_;
    /**
     * <pre>
     *二人加密语音
     * </pre>
     *
     * <code>.core.MsgSecretVoice secretVoice = 11;</code>
     */
    public boolean hasSecretVoice() {
      return secretVoice_ != null;
    }
    /**
     * <pre>
     *二人加密语音
     * </pre>
     *
     * <code>.core.MsgSecretVoice secretVoice = 11;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgSecretVoice getSecretVoice() {
      return secretVoice_ == null ? com.akaxin.proto.core.CoreProto.MsgSecretVoice.getDefaultInstance() : secretVoice_;
    }
    /**
     * <pre>
     *二人加密语音
     * </pre>
     *
     * <code>.core.MsgSecretVoice secretVoice = 11;</code>
     */
    public com.akaxin.proto.core.CoreProto.MsgSecretVoiceOrBuilder getSecretVoiceOrBuilder() {
      return getSecretVoice();
    }

    public static final int GROUPVOICE_FIELD_NUMBER = 12;
    private com.akaxin.proto.core.CoreProto.GroupVoice groupVoice_;
    /**
     * <pre>
     *群语音
     * </pre>
     *
     * <code>.core.GroupVoice groupVoice = 12;</code>
     */
    public boolean hasGroupVoice() {
      return groupVoice_ != null;
    }
    /**
     * <pre>
     *群语音
     * </pre>
     *
     * <code>.core.GroupVoice groupVoice = 12;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupVoice getGroupVoice() {
      return groupVoice_ == null ? com.akaxin.proto.core.CoreProto.GroupVoice.getDefaultInstance() : groupVoice_;
    }
    /**
     * <pre>
     *群语音
     * </pre>
     *
     * <code>.core.GroupVoice groupVoice = 12;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupVoiceOrBuilder getGroupVoiceOrBuilder() {
      return getGroupVoice();
    }

    public static final int GROUPSECRETVOICE_FIELD_NUMBER = 13;
    private com.akaxin.proto.core.CoreProto.GroupSecretVoice groupSecretVoice_;
    /**
     * <pre>
     *群加密语音
     * </pre>
     *
     * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
     */
    public boolean hasGroupSecretVoice() {
      return groupSecretVoice_ != null;
    }
    /**
     * <pre>
     *群加密语音
     * </pre>
     *
     * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretVoice getGroupSecretVoice() {
      return groupSecretVoice_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretVoice.getDefaultInstance() : groupSecretVoice_;
    }
    /**
     * <pre>
     *群加密语音
     * </pre>
     *
     * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretVoiceOrBuilder getGroupSecretVoiceOrBuilder() {
      return getGroupSecretVoice();
    }

    public static final int U2MAP_FIELD_NUMBER = 14;
    private com.akaxin.proto.core.CoreProto.U2Map u2Map_;
    /**
     * <pre>
     *v0.4.3 版本未使用
     * </pre>
     *
     * <code>.core.U2Map u2Map = 14;</code>
     */
    public boolean hasU2Map() {
      return u2Map_ != null;
    }
    /**
     * <pre>
     *v0.4.3 版本未使用
     * </pre>
     *
     * <code>.core.U2Map u2Map = 14;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2Map getU2Map() {
      return u2Map_ == null ? com.akaxin.proto.core.CoreProto.U2Map.getDefaultInstance() : u2Map_;
    }
    /**
     * <pre>
     *v0.4.3 版本未使用
     * </pre>
     *
     * <code>.core.U2Map u2Map = 14;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2MapOrBuilder getU2MapOrBuilder() {
      return getU2Map();
    }

    public static final int U2SECRETMAP_FIELD_NUMBER = 15;
    private com.akaxin.proto.core.CoreProto.U2SecretMap u2SecretMap_;
    /**
     * <pre>
     *加密地图消息
     * </pre>
     *
     * <code>.core.U2SecretMap u2SecretMap = 15;</code>
     */
    public boolean hasU2SecretMap() {
      return u2SecretMap_ != null;
    }
    /**
     * <pre>
     *加密地图消息
     * </pre>
     *
     * <code>.core.U2SecretMap u2SecretMap = 15;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2SecretMap getU2SecretMap() {
      return u2SecretMap_ == null ? com.akaxin.proto.core.CoreProto.U2SecretMap.getDefaultInstance() : u2SecretMap_;
    }
    /**
     * <pre>
     *加密地图消息
     * </pre>
     *
     * <code>.core.U2SecretMap u2SecretMap = 15;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2SecretMapOrBuilder getU2SecretMapOrBuilder() {
      return getU2SecretMap();
    }

    public static final int GROUPMAP_FIELD_NUMBER = 16;
    private com.akaxin.proto.core.CoreProto.GroupMap groupMap_;
    /**
     * <pre>
     *群地图
     * </pre>
     *
     * <code>.core.GroupMap groupMap = 16;</code>
     */
    public boolean hasGroupMap() {
      return groupMap_ != null;
    }
    /**
     * <pre>
     *群地图
     * </pre>
     *
     * <code>.core.GroupMap groupMap = 16;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupMap getGroupMap() {
      return groupMap_ == null ? com.akaxin.proto.core.CoreProto.GroupMap.getDefaultInstance() : groupMap_;
    }
    /**
     * <pre>
     *群地图
     * </pre>
     *
     * <code>.core.GroupMap groupMap = 16;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupMapOrBuilder getGroupMapOrBuilder() {
      return getGroupMap();
    }

    public static final int GROUPSECRETMAP_FIELD_NUMBER = 17;
    private com.akaxin.proto.core.CoreProto.GroupSecretMap groupSecretMap_;
    /**
     * <pre>
     *群加密地图
     * </pre>
     *
     * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
     */
    public boolean hasGroupSecretMap() {
      return groupSecretMap_ != null;
    }
    /**
     * <pre>
     *群加密地图
     * </pre>
     *
     * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretMap getGroupSecretMap() {
      return groupSecretMap_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretMap.getDefaultInstance() : groupSecretMap_;
    }
    /**
     * <pre>
     *群加密地图
     * </pre>
     *
     * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupSecretMapOrBuilder getGroupSecretMapOrBuilder() {
      return getGroupSecretMap();
    }

    public static final int U2MSGNOTICE_FIELD_NUMBER = 18;
    private com.akaxin.proto.core.CoreProto.U2MsgNotice u2MsgNotice_;
    /**
     * <pre>
     *通知消息
     * </pre>
     *
     * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
     */
    public boolean hasU2MsgNotice() {
      return u2MsgNotice_ != null;
    }
    /**
     * <pre>
     *通知消息
     * </pre>
     *
     * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2MsgNotice getU2MsgNotice() {
      return u2MsgNotice_ == null ? com.akaxin.proto.core.CoreProto.U2MsgNotice.getDefaultInstance() : u2MsgNotice_;
    }
    /**
     * <pre>
     *通知消息
     * </pre>
     *
     * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2MsgNoticeOrBuilder getU2MsgNoticeOrBuilder() {
      return getU2MsgNotice();
    }

    public static final int GROUPMSGNOTICE_FIELD_NUMBER = 19;
    private com.akaxin.proto.core.CoreProto.GroupMsgNotice groupMsgNotice_;
    /**
     * <pre>
     *群消息通知
     * </pre>
     *
     * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
     */
    public boolean hasGroupMsgNotice() {
      return groupMsgNotice_ != null;
    }
    /**
     * <pre>
     *群消息通知
     * </pre>
     *
     * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupMsgNotice getGroupMsgNotice() {
      return groupMsgNotice_ == null ? com.akaxin.proto.core.CoreProto.GroupMsgNotice.getDefaultInstance() : groupMsgNotice_;
    }
    /**
     * <pre>
     *群消息通知
     * </pre>
     *
     * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupMsgNoticeOrBuilder getGroupMsgNoticeOrBuilder() {
      return getGroupMsgNotice();
    }

    public static final int U2RECALL_FIELD_NUMBER = 20;
    private com.akaxin.proto.core.CoreProto.U2Recall u2Recall_;
    /**
     * <pre>
     *召回消息
     * </pre>
     *
     * <code>.core.U2Recall u2Recall = 20;</code>
     */
    public boolean hasU2Recall() {
      return u2Recall_ != null;
    }
    /**
     * <pre>
     *召回消息
     * </pre>
     *
     * <code>.core.U2Recall u2Recall = 20;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2Recall getU2Recall() {
      return u2Recall_ == null ? com.akaxin.proto.core.CoreProto.U2Recall.getDefaultInstance() : u2Recall_;
    }
    /**
     * <pre>
     *召回消息
     * </pre>
     *
     * <code>.core.U2Recall u2Recall = 20;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2RecallOrBuilder getU2RecallOrBuilder() {
      return getU2Recall();
    }

    public static final int GROUPRECALL_FIELD_NUMBER = 21;
    private com.akaxin.proto.core.CoreProto.GroupRecall groupRecall_;
    /**
     * <pre>
     *群组召回消息
     * </pre>
     *
     * <code>.core.GroupRecall groupRecall = 21;</code>
     */
    public boolean hasGroupRecall() {
      return groupRecall_ != null;
    }
    /**
     * <pre>
     *群组召回消息
     * </pre>
     *
     * <code>.core.GroupRecall groupRecall = 21;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupRecall getGroupRecall() {
      return groupRecall_ == null ? com.akaxin.proto.core.CoreProto.GroupRecall.getDefaultInstance() : groupRecall_;
    }
    /**
     * <pre>
     *群组召回消息
     * </pre>
     *
     * <code>.core.GroupRecall groupRecall = 21;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupRecallOrBuilder getGroupRecallOrBuilder() {
      return getGroupRecall();
    }

    public static final int U2WEB_FIELD_NUMBER = 22;
    private com.akaxin.proto.core.CoreProto.U2Web u2Web_;
    /**
     * <pre>
     *web消息
     * </pre>
     *
     * <code>.core.U2Web u2Web = 22;</code>
     */
    public boolean hasU2Web() {
      return u2Web_ != null;
    }
    /**
     * <pre>
     *web消息
     * </pre>
     *
     * <code>.core.U2Web u2Web = 22;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2Web getU2Web() {
      return u2Web_ == null ? com.akaxin.proto.core.CoreProto.U2Web.getDefaultInstance() : u2Web_;
    }
    /**
     * <pre>
     *web消息
     * </pre>
     *
     * <code>.core.U2Web u2Web = 22;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2WebOrBuilder getU2WebOrBuilder() {
      return getU2Web();
    }

    public static final int GROUPWEB_FIELD_NUMBER = 23;
    private com.akaxin.proto.core.CoreProto.GroupWeb groupWeb_;
    /**
     * <pre>
     *群组web消息
     * </pre>
     *
     * <code>.core.GroupWeb groupWeb = 23;</code>
     */
    public boolean hasGroupWeb() {
      return groupWeb_ != null;
    }
    /**
     * <pre>
     *群组web消息
     * </pre>
     *
     * <code>.core.GroupWeb groupWeb = 23;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupWeb getGroupWeb() {
      return groupWeb_ == null ? com.akaxin.proto.core.CoreProto.GroupWeb.getDefaultInstance() : groupWeb_;
    }
    /**
     * <pre>
     *群组web消息
     * </pre>
     *
     * <code>.core.GroupWeb groupWeb = 23;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupWebOrBuilder getGroupWebOrBuilder() {
      return getGroupWeb();
    }

    public static final int U2WEBNOTICE_FIELD_NUMBER = 24;
    private com.akaxin.proto.core.CoreProto.U2WebNotice u2WebNotice_;
    /**
     * <pre>
     *web通知消息
     * </pre>
     *
     * <code>.core.U2WebNotice u2WebNotice = 24;</code>
     */
    public boolean hasU2WebNotice() {
      return u2WebNotice_ != null;
    }
    /**
     * <pre>
     *web通知消息
     * </pre>
     *
     * <code>.core.U2WebNotice u2WebNotice = 24;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2WebNotice getU2WebNotice() {
      return u2WebNotice_ == null ? com.akaxin.proto.core.CoreProto.U2WebNotice.getDefaultInstance() : u2WebNotice_;
    }
    /**
     * <pre>
     *web通知消息
     * </pre>
     *
     * <code>.core.U2WebNotice u2WebNotice = 24;</code>
     */
    public com.akaxin.proto.core.CoreProto.U2WebNoticeOrBuilder getU2WebNoticeOrBuilder() {
      return getU2WebNotice();
    }

    public static final int GROUPWEBNOTICE_FIELD_NUMBER = 25;
    private com.akaxin.proto.core.CoreProto.GroupWebNotice groupWebNotice_;
    /**
     * <pre>
     *群组web通知消息
     * </pre>
     *
     * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
     */
    public boolean hasGroupWebNotice() {
      return groupWebNotice_ != null;
    }
    /**
     * <pre>
     *群组web通知消息
     * </pre>
     *
     * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupWebNotice getGroupWebNotice() {
      return groupWebNotice_ == null ? com.akaxin.proto.core.CoreProto.GroupWebNotice.getDefaultInstance() : groupWebNotice_;
    }
    /**
     * <pre>
     *群组web通知消息
     * </pre>
     *
     * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
     */
    public com.akaxin.proto.core.CoreProto.GroupWebNoticeOrBuilder getGroupWebNoticeOrBuilder() {
      return getGroupWebNotice();
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (type_ != com.akaxin.proto.core.CoreProto.MsgType.NOTICE.getNumber()) {
        output.writeEnum(1, type_);
      }
      if (text_ != null) {
        output.writeMessage(2, getText());
      }
      if (secretText_ != null) {
        output.writeMessage(3, getSecretText());
      }
      if (groupText_ != null) {
        output.writeMessage(4, getGroupText());
      }
      if (groupSecretText_ != null) {
        output.writeMessage(5, getGroupSecretText());
      }
      if (image_ != null) {
        output.writeMessage(6, getImage());
      }
      if (secretImage_ != null) {
        output.writeMessage(7, getSecretImage());
      }
      if (groupImage_ != null) {
        output.writeMessage(8, getGroupImage());
      }
      if (groupSecretImage_ != null) {
        output.writeMessage(9, getGroupSecretImage());
      }
      if (voice_ != null) {
        output.writeMessage(10, getVoice());
      }
      if (secretVoice_ != null) {
        output.writeMessage(11, getSecretVoice());
      }
      if (groupVoice_ != null) {
        output.writeMessage(12, getGroupVoice());
      }
      if (groupSecretVoice_ != null) {
        output.writeMessage(13, getGroupSecretVoice());
      }
      if (u2Map_ != null) {
        output.writeMessage(14, getU2Map());
      }
      if (u2SecretMap_ != null) {
        output.writeMessage(15, getU2SecretMap());
      }
      if (groupMap_ != null) {
        output.writeMessage(16, getGroupMap());
      }
      if (groupSecretMap_ != null) {
        output.writeMessage(17, getGroupSecretMap());
      }
      if (u2MsgNotice_ != null) {
        output.writeMessage(18, getU2MsgNotice());
      }
      if (groupMsgNotice_ != null) {
        output.writeMessage(19, getGroupMsgNotice());
      }
      if (u2Recall_ != null) {
        output.writeMessage(20, getU2Recall());
      }
      if (groupRecall_ != null) {
        output.writeMessage(21, getGroupRecall());
      }
      if (u2Web_ != null) {
        output.writeMessage(22, getU2Web());
      }
      if (groupWeb_ != null) {
        output.writeMessage(23, getGroupWeb());
      }
      if (u2WebNotice_ != null) {
        output.writeMessage(24, getU2WebNotice());
      }
      if (groupWebNotice_ != null) {
        output.writeMessage(25, getGroupWebNotice());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (type_ != com.akaxin.proto.core.CoreProto.MsgType.NOTICE.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_);
      }
      if (text_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getText());
      }
      if (secretText_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getSecretText());
      }
      if (groupText_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getGroupText());
      }
      if (groupSecretText_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getGroupSecretText());
      }
      if (image_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getImage());
      }
      if (secretImage_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getSecretImage());
      }
      if (groupImage_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getGroupImage());
      }
      if (groupSecretImage_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getGroupSecretImage());
      }
      if (voice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getVoice());
      }
      if (secretVoice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getSecretVoice());
      }
      if (groupVoice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, getGroupVoice());
      }
      if (groupSecretVoice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, getGroupSecretVoice());
      }
      if (u2Map_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, getU2Map());
      }
      if (u2SecretMap_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(15, getU2SecretMap());
      }
      if (groupMap_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, getGroupMap());
      }
      if (groupSecretMap_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, getGroupSecretMap());
      }
      if (u2MsgNotice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(18, getU2MsgNotice());
      }
      if (groupMsgNotice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(19, getGroupMsgNotice());
      }
      if (u2Recall_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, getU2Recall());
      }
      if (groupRecall_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, getGroupRecall());
      }
      if (u2Web_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(22, getU2Web());
      }
      if (groupWeb_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(23, getGroupWeb());
      }
      if (u2WebNotice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(24, getU2WebNotice());
      }
      if (groupWebNotice_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(25, getGroupWebNotice());
      }
      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 com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest)) {
        return super.equals(obj);
      }
      com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest other = (com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest) obj;

      boolean result = true;
      result = result && type_ == other.type_;
      result = result && (hasText() == other.hasText());
      if (hasText()) {
        result = result && getText()
            .equals(other.getText());
      }
      result = result && (hasSecretText() == other.hasSecretText());
      if (hasSecretText()) {
        result = result && getSecretText()
            .equals(other.getSecretText());
      }
      result = result && (hasGroupText() == other.hasGroupText());
      if (hasGroupText()) {
        result = result && getGroupText()
            .equals(other.getGroupText());
      }
      result = result && (hasGroupSecretText() == other.hasGroupSecretText());
      if (hasGroupSecretText()) {
        result = result && getGroupSecretText()
            .equals(other.getGroupSecretText());
      }
      result = result && (hasImage() == other.hasImage());
      if (hasImage()) {
        result = result && getImage()
            .equals(other.getImage());
      }
      result = result && (hasSecretImage() == other.hasSecretImage());
      if (hasSecretImage()) {
        result = result && getSecretImage()
            .equals(other.getSecretImage());
      }
      result = result && (hasGroupImage() == other.hasGroupImage());
      if (hasGroupImage()) {
        result = result && getGroupImage()
            .equals(other.getGroupImage());
      }
      result = result && (hasGroupSecretImage() == other.hasGroupSecretImage());
      if (hasGroupSecretImage()) {
        result = result && getGroupSecretImage()
            .equals(other.getGroupSecretImage());
      }
      result = result && (hasVoice() == other.hasVoice());
      if (hasVoice()) {
        result = result && getVoice()
            .equals(other.getVoice());
      }
      result = result && (hasSecretVoice() == other.hasSecretVoice());
      if (hasSecretVoice()) {
        result = result && getSecretVoice()
            .equals(other.getSecretVoice());
      }
      result = result && (hasGroupVoice() == other.hasGroupVoice());
      if (hasGroupVoice()) {
        result = result && getGroupVoice()
            .equals(other.getGroupVoice());
      }
      result = result && (hasGroupSecretVoice() == other.hasGroupSecretVoice());
      if (hasGroupSecretVoice()) {
        result = result && getGroupSecretVoice()
            .equals(other.getGroupSecretVoice());
      }
      result = result && (hasU2Map() == other.hasU2Map());
      if (hasU2Map()) {
        result = result && getU2Map()
            .equals(other.getU2Map());
      }
      result = result && (hasU2SecretMap() == other.hasU2SecretMap());
      if (hasU2SecretMap()) {
        result = result && getU2SecretMap()
            .equals(other.getU2SecretMap());
      }
      result = result && (hasGroupMap() == other.hasGroupMap());
      if (hasGroupMap()) {
        result = result && getGroupMap()
            .equals(other.getGroupMap());
      }
      result = result && (hasGroupSecretMap() == other.hasGroupSecretMap());
      if (hasGroupSecretMap()) {
        result = result && getGroupSecretMap()
            .equals(other.getGroupSecretMap());
      }
      result = result && (hasU2MsgNotice() == other.hasU2MsgNotice());
      if (hasU2MsgNotice()) {
        result = result && getU2MsgNotice()
            .equals(other.getU2MsgNotice());
      }
      result = result && (hasGroupMsgNotice() == other.hasGroupMsgNotice());
      if (hasGroupMsgNotice()) {
        result = result && getGroupMsgNotice()
            .equals(other.getGroupMsgNotice());
      }
      result = result && (hasU2Recall() == other.hasU2Recall());
      if (hasU2Recall()) {
        result = result && getU2Recall()
            .equals(other.getU2Recall());
      }
      result = result && (hasGroupRecall() == other.hasGroupRecall());
      if (hasGroupRecall()) {
        result = result && getGroupRecall()
            .equals(other.getGroupRecall());
      }
      result = result && (hasU2Web() == other.hasU2Web());
      if (hasU2Web()) {
        result = result && getU2Web()
            .equals(other.getU2Web());
      }
      result = result && (hasGroupWeb() == other.hasGroupWeb());
      if (hasGroupWeb()) {
        result = result && getGroupWeb()
            .equals(other.getGroupWeb());
      }
      result = result && (hasU2WebNotice() == other.hasU2WebNotice());
      if (hasU2WebNotice()) {
        result = result && getU2WebNotice()
            .equals(other.getU2WebNotice());
      }
      result = result && (hasGroupWebNotice() == other.hasGroupWebNotice());
      if (hasGroupWebNotice()) {
        result = result && getGroupWebNotice()
            .equals(other.getGroupWebNotice());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + type_;
      if (hasText()) {
        hash = (37 * hash) + TEXT_FIELD_NUMBER;
        hash = (53 * hash) + getText().hashCode();
      }
      if (hasSecretText()) {
        hash = (37 * hash) + SECRETTEXT_FIELD_NUMBER;
        hash = (53 * hash) + getSecretText().hashCode();
      }
      if (hasGroupText()) {
        hash = (37 * hash) + GROUPTEXT_FIELD_NUMBER;
        hash = (53 * hash) + getGroupText().hashCode();
      }
      if (hasGroupSecretText()) {
        hash = (37 * hash) + GROUPSECRETTEXT_FIELD_NUMBER;
        hash = (53 * hash) + getGroupSecretText().hashCode();
      }
      if (hasImage()) {
        hash = (37 * hash) + IMAGE_FIELD_NUMBER;
        hash = (53 * hash) + getImage().hashCode();
      }
      if (hasSecretImage()) {
        hash = (37 * hash) + SECRETIMAGE_FIELD_NUMBER;
        hash = (53 * hash) + getSecretImage().hashCode();
      }
      if (hasGroupImage()) {
        hash = (37 * hash) + GROUPIMAGE_FIELD_NUMBER;
        hash = (53 * hash) + getGroupImage().hashCode();
      }
      if (hasGroupSecretImage()) {
        hash = (37 * hash) + GROUPSECRETIMAGE_FIELD_NUMBER;
        hash = (53 * hash) + getGroupSecretImage().hashCode();
      }
      if (hasVoice()) {
        hash = (37 * hash) + VOICE_FIELD_NUMBER;
        hash = (53 * hash) + getVoice().hashCode();
      }
      if (hasSecretVoice()) {
        hash = (37 * hash) + SECRETVOICE_FIELD_NUMBER;
        hash = (53 * hash) + getSecretVoice().hashCode();
      }
      if (hasGroupVoice()) {
        hash = (37 * hash) + GROUPVOICE_FIELD_NUMBER;
        hash = (53 * hash) + getGroupVoice().hashCode();
      }
      if (hasGroupSecretVoice()) {
        hash = (37 * hash) + GROUPSECRETVOICE_FIELD_NUMBER;
        hash = (53 * hash) + getGroupSecretVoice().hashCode();
      }
      if (hasU2Map()) {
        hash = (37 * hash) + U2MAP_FIELD_NUMBER;
        hash = (53 * hash) + getU2Map().hashCode();
      }
      if (hasU2SecretMap()) {
        hash = (37 * hash) + U2SECRETMAP_FIELD_NUMBER;
        hash = (53 * hash) + getU2SecretMap().hashCode();
      }
      if (hasGroupMap()) {
        hash = (37 * hash) + GROUPMAP_FIELD_NUMBER;
        hash = (53 * hash) + getGroupMap().hashCode();
      }
      if (hasGroupSecretMap()) {
        hash = (37 * hash) + GROUPSECRETMAP_FIELD_NUMBER;
        hash = (53 * hash) + getGroupSecretMap().hashCode();
      }
      if (hasU2MsgNotice()) {
        hash = (37 * hash) + U2MSGNOTICE_FIELD_NUMBER;
        hash = (53 * hash) + getU2MsgNotice().hashCode();
      }
      if (hasGroupMsgNotice()) {
        hash = (37 * hash) + GROUPMSGNOTICE_FIELD_NUMBER;
        hash = (53 * hash) + getGroupMsgNotice().hashCode();
      }
      if (hasU2Recall()) {
        hash = (37 * hash) + U2RECALL_FIELD_NUMBER;
        hash = (53 * hash) + getU2Recall().hashCode();
      }
      if (hasGroupRecall()) {
        hash = (37 * hash) + GROUPRECALL_FIELD_NUMBER;
        hash = (53 * hash) + getGroupRecall().hashCode();
      }
      if (hasU2Web()) {
        hash = (37 * hash) + U2WEB_FIELD_NUMBER;
        hash = (53 * hash) + getU2Web().hashCode();
      }
      if (hasGroupWeb()) {
        hash = (37 * hash) + GROUPWEB_FIELD_NUMBER;
        hash = (53 * hash) + getGroupWeb().hashCode();
      }
      if (hasU2WebNotice()) {
        hash = (37 * hash) + U2WEBNOTICE_FIELD_NUMBER;
        hash = (53 * hash) + getU2WebNotice().hashCode();
      }
      if (hasGroupWebNotice()) {
        hash = (37 * hash) + GROUPWEBNOTICE_FIELD_NUMBER;
        hash = (53 * hash) + getGroupWebNotice().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest 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 com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest 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 com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 site.ImCtsMessageRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:site.ImCtsMessageRequest)
        com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.akaxin.proto.site.ImCtsMessageProto.internal_static_site_ImCtsMessageRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.akaxin.proto.site.ImCtsMessageProto.internal_static_site_ImCtsMessageRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest.class, com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest.Builder.class);
      }

      // Construct using com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        type_ = 0;

        if (textBuilder_ == null) {
          text_ = null;
        } else {
          text_ = null;
          textBuilder_ = null;
        }
        if (secretTextBuilder_ == null) {
          secretText_ = null;
        } else {
          secretText_ = null;
          secretTextBuilder_ = null;
        }
        if (groupTextBuilder_ == null) {
          groupText_ = null;
        } else {
          groupText_ = null;
          groupTextBuilder_ = null;
        }
        if (groupSecretTextBuilder_ == null) {
          groupSecretText_ = null;
        } else {
          groupSecretText_ = null;
          groupSecretTextBuilder_ = null;
        }
        if (imageBuilder_ == null) {
          image_ = null;
        } else {
          image_ = null;
          imageBuilder_ = null;
        }
        if (secretImageBuilder_ == null) {
          secretImage_ = null;
        } else {
          secretImage_ = null;
          secretImageBuilder_ = null;
        }
        if (groupImageBuilder_ == null) {
          groupImage_ = null;
        } else {
          groupImage_ = null;
          groupImageBuilder_ = null;
        }
        if (groupSecretImageBuilder_ == null) {
          groupSecretImage_ = null;
        } else {
          groupSecretImage_ = null;
          groupSecretImageBuilder_ = null;
        }
        if (voiceBuilder_ == null) {
          voice_ = null;
        } else {
          voice_ = null;
          voiceBuilder_ = null;
        }
        if (secretVoiceBuilder_ == null) {
          secretVoice_ = null;
        } else {
          secretVoice_ = null;
          secretVoiceBuilder_ = null;
        }
        if (groupVoiceBuilder_ == null) {
          groupVoice_ = null;
        } else {
          groupVoice_ = null;
          groupVoiceBuilder_ = null;
        }
        if (groupSecretVoiceBuilder_ == null) {
          groupSecretVoice_ = null;
        } else {
          groupSecretVoice_ = null;
          groupSecretVoiceBuilder_ = null;
        }
        if (u2MapBuilder_ == null) {
          u2Map_ = null;
        } else {
          u2Map_ = null;
          u2MapBuilder_ = null;
        }
        if (u2SecretMapBuilder_ == null) {
          u2SecretMap_ = null;
        } else {
          u2SecretMap_ = null;
          u2SecretMapBuilder_ = null;
        }
        if (groupMapBuilder_ == null) {
          groupMap_ = null;
        } else {
          groupMap_ = null;
          groupMapBuilder_ = null;
        }
        if (groupSecretMapBuilder_ == null) {
          groupSecretMap_ = null;
        } else {
          groupSecretMap_ = null;
          groupSecretMapBuilder_ = null;
        }
        if (u2MsgNoticeBuilder_ == null) {
          u2MsgNotice_ = null;
        } else {
          u2MsgNotice_ = null;
          u2MsgNoticeBuilder_ = null;
        }
        if (groupMsgNoticeBuilder_ == null) {
          groupMsgNotice_ = null;
        } else {
          groupMsgNotice_ = null;
          groupMsgNoticeBuilder_ = null;
        }
        if (u2RecallBuilder_ == null) {
          u2Recall_ = null;
        } else {
          u2Recall_ = null;
          u2RecallBuilder_ = null;
        }
        if (groupRecallBuilder_ == null) {
          groupRecall_ = null;
        } else {
          groupRecall_ = null;
          groupRecallBuilder_ = null;
        }
        if (u2WebBuilder_ == null) {
          u2Web_ = null;
        } else {
          u2Web_ = null;
          u2WebBuilder_ = null;
        }
        if (groupWebBuilder_ == null) {
          groupWeb_ = null;
        } else {
          groupWeb_ = null;
          groupWebBuilder_ = null;
        }
        if (u2WebNoticeBuilder_ == null) {
          u2WebNotice_ = null;
        } else {
          u2WebNotice_ = null;
          u2WebNoticeBuilder_ = null;
        }
        if (groupWebNoticeBuilder_ == null) {
          groupWebNotice_ = null;
        } else {
          groupWebNotice_ = null;
          groupWebNoticeBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.akaxin.proto.site.ImCtsMessageProto.internal_static_site_ImCtsMessageRequest_descriptor;
      }

      public com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest getDefaultInstanceForType() {
        return com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest.getDefaultInstance();
      }

      public com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest build() {
        com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest buildPartial() {
        com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest result = new com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest(this);
        result.type_ = type_;
        if (textBuilder_ == null) {
          result.text_ = text_;
        } else {
          result.text_ = textBuilder_.build();
        }
        if (secretTextBuilder_ == null) {
          result.secretText_ = secretText_;
        } else {
          result.secretText_ = secretTextBuilder_.build();
        }
        if (groupTextBuilder_ == null) {
          result.groupText_ = groupText_;
        } else {
          result.groupText_ = groupTextBuilder_.build();
        }
        if (groupSecretTextBuilder_ == null) {
          result.groupSecretText_ = groupSecretText_;
        } else {
          result.groupSecretText_ = groupSecretTextBuilder_.build();
        }
        if (imageBuilder_ == null) {
          result.image_ = image_;
        } else {
          result.image_ = imageBuilder_.build();
        }
        if (secretImageBuilder_ == null) {
          result.secretImage_ = secretImage_;
        } else {
          result.secretImage_ = secretImageBuilder_.build();
        }
        if (groupImageBuilder_ == null) {
          result.groupImage_ = groupImage_;
        } else {
          result.groupImage_ = groupImageBuilder_.build();
        }
        if (groupSecretImageBuilder_ == null) {
          result.groupSecretImage_ = groupSecretImage_;
        } else {
          result.groupSecretImage_ = groupSecretImageBuilder_.build();
        }
        if (voiceBuilder_ == null) {
          result.voice_ = voice_;
        } else {
          result.voice_ = voiceBuilder_.build();
        }
        if (secretVoiceBuilder_ == null) {
          result.secretVoice_ = secretVoice_;
        } else {
          result.secretVoice_ = secretVoiceBuilder_.build();
        }
        if (groupVoiceBuilder_ == null) {
          result.groupVoice_ = groupVoice_;
        } else {
          result.groupVoice_ = groupVoiceBuilder_.build();
        }
        if (groupSecretVoiceBuilder_ == null) {
          result.groupSecretVoice_ = groupSecretVoice_;
        } else {
          result.groupSecretVoice_ = groupSecretVoiceBuilder_.build();
        }
        if (u2MapBuilder_ == null) {
          result.u2Map_ = u2Map_;
        } else {
          result.u2Map_ = u2MapBuilder_.build();
        }
        if (u2SecretMapBuilder_ == null) {
          result.u2SecretMap_ = u2SecretMap_;
        } else {
          result.u2SecretMap_ = u2SecretMapBuilder_.build();
        }
        if (groupMapBuilder_ == null) {
          result.groupMap_ = groupMap_;
        } else {
          result.groupMap_ = groupMapBuilder_.build();
        }
        if (groupSecretMapBuilder_ == null) {
          result.groupSecretMap_ = groupSecretMap_;
        } else {
          result.groupSecretMap_ = groupSecretMapBuilder_.build();
        }
        if (u2MsgNoticeBuilder_ == null) {
          result.u2MsgNotice_ = u2MsgNotice_;
        } else {
          result.u2MsgNotice_ = u2MsgNoticeBuilder_.build();
        }
        if (groupMsgNoticeBuilder_ == null) {
          result.groupMsgNotice_ = groupMsgNotice_;
        } else {
          result.groupMsgNotice_ = groupMsgNoticeBuilder_.build();
        }
        if (u2RecallBuilder_ == null) {
          result.u2Recall_ = u2Recall_;
        } else {
          result.u2Recall_ = u2RecallBuilder_.build();
        }
        if (groupRecallBuilder_ == null) {
          result.groupRecall_ = groupRecall_;
        } else {
          result.groupRecall_ = groupRecallBuilder_.build();
        }
        if (u2WebBuilder_ == null) {
          result.u2Web_ = u2Web_;
        } else {
          result.u2Web_ = u2WebBuilder_.build();
        }
        if (groupWebBuilder_ == null) {
          result.groupWeb_ = groupWeb_;
        } else {
          result.groupWeb_ = groupWebBuilder_.build();
        }
        if (u2WebNoticeBuilder_ == null) {
          result.u2WebNotice_ = u2WebNotice_;
        } else {
          result.u2WebNotice_ = u2WebNoticeBuilder_.build();
        }
        if (groupWebNoticeBuilder_ == null) {
          result.groupWebNotice_ = groupWebNotice_;
        } else {
          result.groupWebNotice_ = groupWebNoticeBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest) {
          return mergeFrom((com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest other) {
        if (other == com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest.getDefaultInstance()) return this;
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        if (other.hasText()) {
          mergeText(other.getText());
        }
        if (other.hasSecretText()) {
          mergeSecretText(other.getSecretText());
        }
        if (other.hasGroupText()) {
          mergeGroupText(other.getGroupText());
        }
        if (other.hasGroupSecretText()) {
          mergeGroupSecretText(other.getGroupSecretText());
        }
        if (other.hasImage()) {
          mergeImage(other.getImage());
        }
        if (other.hasSecretImage()) {
          mergeSecretImage(other.getSecretImage());
        }
        if (other.hasGroupImage()) {
          mergeGroupImage(other.getGroupImage());
        }
        if (other.hasGroupSecretImage()) {
          mergeGroupSecretImage(other.getGroupSecretImage());
        }
        if (other.hasVoice()) {
          mergeVoice(other.getVoice());
        }
        if (other.hasSecretVoice()) {
          mergeSecretVoice(other.getSecretVoice());
        }
        if (other.hasGroupVoice()) {
          mergeGroupVoice(other.getGroupVoice());
        }
        if (other.hasGroupSecretVoice()) {
          mergeGroupSecretVoice(other.getGroupSecretVoice());
        }
        if (other.hasU2Map()) {
          mergeU2Map(other.getU2Map());
        }
        if (other.hasU2SecretMap()) {
          mergeU2SecretMap(other.getU2SecretMap());
        }
        if (other.hasGroupMap()) {
          mergeGroupMap(other.getGroupMap());
        }
        if (other.hasGroupSecretMap()) {
          mergeGroupSecretMap(other.getGroupSecretMap());
        }
        if (other.hasU2MsgNotice()) {
          mergeU2MsgNotice(other.getU2MsgNotice());
        }
        if (other.hasGroupMsgNotice()) {
          mergeGroupMsgNotice(other.getGroupMsgNotice());
        }
        if (other.hasU2Recall()) {
          mergeU2Recall(other.getU2Recall());
        }
        if (other.hasGroupRecall()) {
          mergeGroupRecall(other.getGroupRecall());
        }
        if (other.hasU2Web()) {
          mergeU2Web(other.getU2Web());
        }
        if (other.hasGroupWeb()) {
          mergeGroupWeb(other.getGroupWeb());
        }
        if (other.hasU2WebNotice()) {
          mergeU2WebNotice(other.getU2WebNotice());
        }
        if (other.hasGroupWebNotice()) {
          mergeGroupWebNotice(other.getGroupWebNotice());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int type_ = 0;
      /**
       * <pre>
       *消息类型
       * </pre>
       *
       * <code>.core.MsgType type = 1;</code>
       */
      public int getTypeValue() {
        return type_;
      }
      /**
       * <pre>
       *消息类型
       * </pre>
       *
       * <code>.core.MsgType type = 1;</code>
       */
      public Builder setTypeValue(int value) {
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *消息类型
       * </pre>
       *
       * <code>.core.MsgType type = 1;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgType getType() {
        com.akaxin.proto.core.CoreProto.MsgType result = com.akaxin.proto.core.CoreProto.MsgType.valueOf(type_);
        return result == null ? com.akaxin.proto.core.CoreProto.MsgType.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       *消息类型
       * </pre>
       *
       * <code>.core.MsgType type = 1;</code>
       */
      public Builder setType(com.akaxin.proto.core.CoreProto.MsgType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *消息类型
       * </pre>
       *
       * <code>.core.MsgType type = 1;</code>
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      private com.akaxin.proto.core.CoreProto.MsgText text_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgText, com.akaxin.proto.core.CoreProto.MsgText.Builder, com.akaxin.proto.core.CoreProto.MsgTextOrBuilder> textBuilder_;
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public boolean hasText() {
        return textBuilder_ != null || text_ != null;
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgText getText() {
        if (textBuilder_ == null) {
          return text_ == null ? com.akaxin.proto.core.CoreProto.MsgText.getDefaultInstance() : text_;
        } else {
          return textBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public Builder setText(com.akaxin.proto.core.CoreProto.MsgText value) {
        if (textBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          text_ = value;
          onChanged();
        } else {
          textBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public Builder setText(
          com.akaxin.proto.core.CoreProto.MsgText.Builder builderForValue) {
        if (textBuilder_ == null) {
          text_ = builderForValue.build();
          onChanged();
        } else {
          textBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public Builder mergeText(com.akaxin.proto.core.CoreProto.MsgText value) {
        if (textBuilder_ == null) {
          if (text_ != null) {
            text_ =
              com.akaxin.proto.core.CoreProto.MsgText.newBuilder(text_).mergeFrom(value).buildPartial();
          } else {
            text_ = value;
          }
          onChanged();
        } else {
          textBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public Builder clearText() {
        if (textBuilder_ == null) {
          text_ = null;
          onChanged();
        } else {
          text_ = null;
          textBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgText.Builder getTextBuilder() {
        
        onChanged();
        return getTextFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgTextOrBuilder getTextOrBuilder() {
        if (textBuilder_ != null) {
          return textBuilder_.getMessageOrBuilder();
        } else {
          return text_ == null ?
              com.akaxin.proto.core.CoreProto.MsgText.getDefaultInstance() : text_;
        }
      }
      /**
       * <pre>
       *二人文本消息
       * </pre>
       *
       * <code>.core.MsgText text = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgText, com.akaxin.proto.core.CoreProto.MsgText.Builder, com.akaxin.proto.core.CoreProto.MsgTextOrBuilder> 
          getTextFieldBuilder() {
        if (textBuilder_ == null) {
          textBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.MsgText, com.akaxin.proto.core.CoreProto.MsgText.Builder, com.akaxin.proto.core.CoreProto.MsgTextOrBuilder>(
                  getText(),
                  getParentForChildren(),
                  isClean());
          text_ = null;
        }
        return textBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.MsgSecretText secretText_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgSecretText, com.akaxin.proto.core.CoreProto.MsgSecretText.Builder, com.akaxin.proto.core.CoreProto.MsgSecretTextOrBuilder> secretTextBuilder_;
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public boolean hasSecretText() {
        return secretTextBuilder_ != null || secretText_ != null;
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretText getSecretText() {
        if (secretTextBuilder_ == null) {
          return secretText_ == null ? com.akaxin.proto.core.CoreProto.MsgSecretText.getDefaultInstance() : secretText_;
        } else {
          return secretTextBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public Builder setSecretText(com.akaxin.proto.core.CoreProto.MsgSecretText value) {
        if (secretTextBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          secretText_ = value;
          onChanged();
        } else {
          secretTextBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public Builder setSecretText(
          com.akaxin.proto.core.CoreProto.MsgSecretText.Builder builderForValue) {
        if (secretTextBuilder_ == null) {
          secretText_ = builderForValue.build();
          onChanged();
        } else {
          secretTextBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public Builder mergeSecretText(com.akaxin.proto.core.CoreProto.MsgSecretText value) {
        if (secretTextBuilder_ == null) {
          if (secretText_ != null) {
            secretText_ =
              com.akaxin.proto.core.CoreProto.MsgSecretText.newBuilder(secretText_).mergeFrom(value).buildPartial();
          } else {
            secretText_ = value;
          }
          onChanged();
        } else {
          secretTextBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public Builder clearSecretText() {
        if (secretTextBuilder_ == null) {
          secretText_ = null;
          onChanged();
        } else {
          secretText_ = null;
          secretTextBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretText.Builder getSecretTextBuilder() {
        
        onChanged();
        return getSecretTextFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretTextOrBuilder getSecretTextOrBuilder() {
        if (secretTextBuilder_ != null) {
          return secretTextBuilder_.getMessageOrBuilder();
        } else {
          return secretText_ == null ?
              com.akaxin.proto.core.CoreProto.MsgSecretText.getDefaultInstance() : secretText_;
        }
      }
      /**
       * <pre>
       *二人加密文本消息
       * </pre>
       *
       * <code>.core.MsgSecretText secretText = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgSecretText, com.akaxin.proto.core.CoreProto.MsgSecretText.Builder, com.akaxin.proto.core.CoreProto.MsgSecretTextOrBuilder> 
          getSecretTextFieldBuilder() {
        if (secretTextBuilder_ == null) {
          secretTextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.MsgSecretText, com.akaxin.proto.core.CoreProto.MsgSecretText.Builder, com.akaxin.proto.core.CoreProto.MsgSecretTextOrBuilder>(
                  getSecretText(),
                  getParentForChildren(),
                  isClean());
          secretText_ = null;
        }
        return secretTextBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupText groupText_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupText, com.akaxin.proto.core.CoreProto.GroupText.Builder, com.akaxin.proto.core.CoreProto.GroupTextOrBuilder> groupTextBuilder_;
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public boolean hasGroupText() {
        return groupTextBuilder_ != null || groupText_ != null;
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupText getGroupText() {
        if (groupTextBuilder_ == null) {
          return groupText_ == null ? com.akaxin.proto.core.CoreProto.GroupText.getDefaultInstance() : groupText_;
        } else {
          return groupTextBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public Builder setGroupText(com.akaxin.proto.core.CoreProto.GroupText value) {
        if (groupTextBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupText_ = value;
          onChanged();
        } else {
          groupTextBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public Builder setGroupText(
          com.akaxin.proto.core.CoreProto.GroupText.Builder builderForValue) {
        if (groupTextBuilder_ == null) {
          groupText_ = builderForValue.build();
          onChanged();
        } else {
          groupTextBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public Builder mergeGroupText(com.akaxin.proto.core.CoreProto.GroupText value) {
        if (groupTextBuilder_ == null) {
          if (groupText_ != null) {
            groupText_ =
              com.akaxin.proto.core.CoreProto.GroupText.newBuilder(groupText_).mergeFrom(value).buildPartial();
          } else {
            groupText_ = value;
          }
          onChanged();
        } else {
          groupTextBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public Builder clearGroupText() {
        if (groupTextBuilder_ == null) {
          groupText_ = null;
          onChanged();
        } else {
          groupText_ = null;
          groupTextBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupText.Builder getGroupTextBuilder() {
        
        onChanged();
        return getGroupTextFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupTextOrBuilder getGroupTextOrBuilder() {
        if (groupTextBuilder_ != null) {
          return groupTextBuilder_.getMessageOrBuilder();
        } else {
          return groupText_ == null ?
              com.akaxin.proto.core.CoreProto.GroupText.getDefaultInstance() : groupText_;
        }
      }
      /**
       * <pre>
       *群文本消息
       * </pre>
       *
       * <code>.core.GroupText groupText = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupText, com.akaxin.proto.core.CoreProto.GroupText.Builder, com.akaxin.proto.core.CoreProto.GroupTextOrBuilder> 
          getGroupTextFieldBuilder() {
        if (groupTextBuilder_ == null) {
          groupTextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupText, com.akaxin.proto.core.CoreProto.GroupText.Builder, com.akaxin.proto.core.CoreProto.GroupTextOrBuilder>(
                  getGroupText(),
                  getParentForChildren(),
                  isClean());
          groupText_ = null;
        }
        return groupTextBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupSecretText groupSecretText_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretText, com.akaxin.proto.core.CoreProto.GroupSecretText.Builder, com.akaxin.proto.core.CoreProto.GroupSecretTextOrBuilder> groupSecretTextBuilder_;
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public boolean hasGroupSecretText() {
        return groupSecretTextBuilder_ != null || groupSecretText_ != null;
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretText getGroupSecretText() {
        if (groupSecretTextBuilder_ == null) {
          return groupSecretText_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretText.getDefaultInstance() : groupSecretText_;
        } else {
          return groupSecretTextBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public Builder setGroupSecretText(com.akaxin.proto.core.CoreProto.GroupSecretText value) {
        if (groupSecretTextBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupSecretText_ = value;
          onChanged();
        } else {
          groupSecretTextBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public Builder setGroupSecretText(
          com.akaxin.proto.core.CoreProto.GroupSecretText.Builder builderForValue) {
        if (groupSecretTextBuilder_ == null) {
          groupSecretText_ = builderForValue.build();
          onChanged();
        } else {
          groupSecretTextBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public Builder mergeGroupSecretText(com.akaxin.proto.core.CoreProto.GroupSecretText value) {
        if (groupSecretTextBuilder_ == null) {
          if (groupSecretText_ != null) {
            groupSecretText_ =
              com.akaxin.proto.core.CoreProto.GroupSecretText.newBuilder(groupSecretText_).mergeFrom(value).buildPartial();
          } else {
            groupSecretText_ = value;
          }
          onChanged();
        } else {
          groupSecretTextBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public Builder clearGroupSecretText() {
        if (groupSecretTextBuilder_ == null) {
          groupSecretText_ = null;
          onChanged();
        } else {
          groupSecretText_ = null;
          groupSecretTextBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretText.Builder getGroupSecretTextBuilder() {
        
        onChanged();
        return getGroupSecretTextFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretTextOrBuilder getGroupSecretTextOrBuilder() {
        if (groupSecretTextBuilder_ != null) {
          return groupSecretTextBuilder_.getMessageOrBuilder();
        } else {
          return groupSecretText_ == null ?
              com.akaxin.proto.core.CoreProto.GroupSecretText.getDefaultInstance() : groupSecretText_;
        }
      }
      /**
       * <pre>
       *群加密消息
       * </pre>
       *
       * <code>.core.GroupSecretText groupSecretText = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretText, com.akaxin.proto.core.CoreProto.GroupSecretText.Builder, com.akaxin.proto.core.CoreProto.GroupSecretTextOrBuilder> 
          getGroupSecretTextFieldBuilder() {
        if (groupSecretTextBuilder_ == null) {
          groupSecretTextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupSecretText, com.akaxin.proto.core.CoreProto.GroupSecretText.Builder, com.akaxin.proto.core.CoreProto.GroupSecretTextOrBuilder>(
                  getGroupSecretText(),
                  getParentForChildren(),
                  isClean());
          groupSecretText_ = null;
        }
        return groupSecretTextBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.MsgImage image_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgImage, com.akaxin.proto.core.CoreProto.MsgImage.Builder, com.akaxin.proto.core.CoreProto.MsgImageOrBuilder> imageBuilder_;
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public boolean hasImage() {
        return imageBuilder_ != null || image_ != null;
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgImage getImage() {
        if (imageBuilder_ == null) {
          return image_ == null ? com.akaxin.proto.core.CoreProto.MsgImage.getDefaultInstance() : image_;
        } else {
          return imageBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public Builder setImage(com.akaxin.proto.core.CoreProto.MsgImage value) {
        if (imageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          image_ = value;
          onChanged();
        } else {
          imageBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public Builder setImage(
          com.akaxin.proto.core.CoreProto.MsgImage.Builder builderForValue) {
        if (imageBuilder_ == null) {
          image_ = builderForValue.build();
          onChanged();
        } else {
          imageBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public Builder mergeImage(com.akaxin.proto.core.CoreProto.MsgImage value) {
        if (imageBuilder_ == null) {
          if (image_ != null) {
            image_ =
              com.akaxin.proto.core.CoreProto.MsgImage.newBuilder(image_).mergeFrom(value).buildPartial();
          } else {
            image_ = value;
          }
          onChanged();
        } else {
          imageBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public Builder clearImage() {
        if (imageBuilder_ == null) {
          image_ = null;
          onChanged();
        } else {
          image_ = null;
          imageBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgImage.Builder getImageBuilder() {
        
        onChanged();
        return getImageFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgImageOrBuilder getImageOrBuilder() {
        if (imageBuilder_ != null) {
          return imageBuilder_.getMessageOrBuilder();
        } else {
          return image_ == null ?
              com.akaxin.proto.core.CoreProto.MsgImage.getDefaultInstance() : image_;
        }
      }
      /**
       * <pre>
       *二人图片消息
       * </pre>
       *
       * <code>.core.MsgImage image = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgImage, com.akaxin.proto.core.CoreProto.MsgImage.Builder, com.akaxin.proto.core.CoreProto.MsgImageOrBuilder> 
          getImageFieldBuilder() {
        if (imageBuilder_ == null) {
          imageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.MsgImage, com.akaxin.proto.core.CoreProto.MsgImage.Builder, com.akaxin.proto.core.CoreProto.MsgImageOrBuilder>(
                  getImage(),
                  getParentForChildren(),
                  isClean());
          image_ = null;
        }
        return imageBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.MsgSecretImage secretImage_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgSecretImage, com.akaxin.proto.core.CoreProto.MsgSecretImage.Builder, com.akaxin.proto.core.CoreProto.MsgSecretImageOrBuilder> secretImageBuilder_;
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public boolean hasSecretImage() {
        return secretImageBuilder_ != null || secretImage_ != null;
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretImage getSecretImage() {
        if (secretImageBuilder_ == null) {
          return secretImage_ == null ? com.akaxin.proto.core.CoreProto.MsgSecretImage.getDefaultInstance() : secretImage_;
        } else {
          return secretImageBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public Builder setSecretImage(com.akaxin.proto.core.CoreProto.MsgSecretImage value) {
        if (secretImageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          secretImage_ = value;
          onChanged();
        } else {
          secretImageBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public Builder setSecretImage(
          com.akaxin.proto.core.CoreProto.MsgSecretImage.Builder builderForValue) {
        if (secretImageBuilder_ == null) {
          secretImage_ = builderForValue.build();
          onChanged();
        } else {
          secretImageBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public Builder mergeSecretImage(com.akaxin.proto.core.CoreProto.MsgSecretImage value) {
        if (secretImageBuilder_ == null) {
          if (secretImage_ != null) {
            secretImage_ =
              com.akaxin.proto.core.CoreProto.MsgSecretImage.newBuilder(secretImage_).mergeFrom(value).buildPartial();
          } else {
            secretImage_ = value;
          }
          onChanged();
        } else {
          secretImageBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public Builder clearSecretImage() {
        if (secretImageBuilder_ == null) {
          secretImage_ = null;
          onChanged();
        } else {
          secretImage_ = null;
          secretImageBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretImage.Builder getSecretImageBuilder() {
        
        onChanged();
        return getSecretImageFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretImageOrBuilder getSecretImageOrBuilder() {
        if (secretImageBuilder_ != null) {
          return secretImageBuilder_.getMessageOrBuilder();
        } else {
          return secretImage_ == null ?
              com.akaxin.proto.core.CoreProto.MsgSecretImage.getDefaultInstance() : secretImage_;
        }
      }
      /**
       * <pre>
       *二人加密图片消息
       * </pre>
       *
       * <code>.core.MsgSecretImage secretImage = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgSecretImage, com.akaxin.proto.core.CoreProto.MsgSecretImage.Builder, com.akaxin.proto.core.CoreProto.MsgSecretImageOrBuilder> 
          getSecretImageFieldBuilder() {
        if (secretImageBuilder_ == null) {
          secretImageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.MsgSecretImage, com.akaxin.proto.core.CoreProto.MsgSecretImage.Builder, com.akaxin.proto.core.CoreProto.MsgSecretImageOrBuilder>(
                  getSecretImage(),
                  getParentForChildren(),
                  isClean());
          secretImage_ = null;
        }
        return secretImageBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupImage groupImage_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupImage, com.akaxin.proto.core.CoreProto.GroupImage.Builder, com.akaxin.proto.core.CoreProto.GroupImageOrBuilder> groupImageBuilder_;
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public boolean hasGroupImage() {
        return groupImageBuilder_ != null || groupImage_ != null;
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupImage getGroupImage() {
        if (groupImageBuilder_ == null) {
          return groupImage_ == null ? com.akaxin.proto.core.CoreProto.GroupImage.getDefaultInstance() : groupImage_;
        } else {
          return groupImageBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public Builder setGroupImage(com.akaxin.proto.core.CoreProto.GroupImage value) {
        if (groupImageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupImage_ = value;
          onChanged();
        } else {
          groupImageBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public Builder setGroupImage(
          com.akaxin.proto.core.CoreProto.GroupImage.Builder builderForValue) {
        if (groupImageBuilder_ == null) {
          groupImage_ = builderForValue.build();
          onChanged();
        } else {
          groupImageBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public Builder mergeGroupImage(com.akaxin.proto.core.CoreProto.GroupImage value) {
        if (groupImageBuilder_ == null) {
          if (groupImage_ != null) {
            groupImage_ =
              com.akaxin.proto.core.CoreProto.GroupImage.newBuilder(groupImage_).mergeFrom(value).buildPartial();
          } else {
            groupImage_ = value;
          }
          onChanged();
        } else {
          groupImageBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public Builder clearGroupImage() {
        if (groupImageBuilder_ == null) {
          groupImage_ = null;
          onChanged();
        } else {
          groupImage_ = null;
          groupImageBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupImage.Builder getGroupImageBuilder() {
        
        onChanged();
        return getGroupImageFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupImageOrBuilder getGroupImageOrBuilder() {
        if (groupImageBuilder_ != null) {
          return groupImageBuilder_.getMessageOrBuilder();
        } else {
          return groupImage_ == null ?
              com.akaxin.proto.core.CoreProto.GroupImage.getDefaultInstance() : groupImage_;
        }
      }
      /**
       * <pre>
       *群图片消息
       * </pre>
       *
       * <code>.core.GroupImage groupImage = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupImage, com.akaxin.proto.core.CoreProto.GroupImage.Builder, com.akaxin.proto.core.CoreProto.GroupImageOrBuilder> 
          getGroupImageFieldBuilder() {
        if (groupImageBuilder_ == null) {
          groupImageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupImage, com.akaxin.proto.core.CoreProto.GroupImage.Builder, com.akaxin.proto.core.CoreProto.GroupImageOrBuilder>(
                  getGroupImage(),
                  getParentForChildren(),
                  isClean());
          groupImage_ = null;
        }
        return groupImageBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupSecretImage groupSecretImage_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretImage, com.akaxin.proto.core.CoreProto.GroupSecretImage.Builder, com.akaxin.proto.core.CoreProto.GroupSecretImageOrBuilder> groupSecretImageBuilder_;
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public boolean hasGroupSecretImage() {
        return groupSecretImageBuilder_ != null || groupSecretImage_ != null;
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretImage getGroupSecretImage() {
        if (groupSecretImageBuilder_ == null) {
          return groupSecretImage_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretImage.getDefaultInstance() : groupSecretImage_;
        } else {
          return groupSecretImageBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public Builder setGroupSecretImage(com.akaxin.proto.core.CoreProto.GroupSecretImage value) {
        if (groupSecretImageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupSecretImage_ = value;
          onChanged();
        } else {
          groupSecretImageBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public Builder setGroupSecretImage(
          com.akaxin.proto.core.CoreProto.GroupSecretImage.Builder builderForValue) {
        if (groupSecretImageBuilder_ == null) {
          groupSecretImage_ = builderForValue.build();
          onChanged();
        } else {
          groupSecretImageBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public Builder mergeGroupSecretImage(com.akaxin.proto.core.CoreProto.GroupSecretImage value) {
        if (groupSecretImageBuilder_ == null) {
          if (groupSecretImage_ != null) {
            groupSecretImage_ =
              com.akaxin.proto.core.CoreProto.GroupSecretImage.newBuilder(groupSecretImage_).mergeFrom(value).buildPartial();
          } else {
            groupSecretImage_ = value;
          }
          onChanged();
        } else {
          groupSecretImageBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public Builder clearGroupSecretImage() {
        if (groupSecretImageBuilder_ == null) {
          groupSecretImage_ = null;
          onChanged();
        } else {
          groupSecretImage_ = null;
          groupSecretImageBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretImage.Builder getGroupSecretImageBuilder() {
        
        onChanged();
        return getGroupSecretImageFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretImageOrBuilder getGroupSecretImageOrBuilder() {
        if (groupSecretImageBuilder_ != null) {
          return groupSecretImageBuilder_.getMessageOrBuilder();
        } else {
          return groupSecretImage_ == null ?
              com.akaxin.proto.core.CoreProto.GroupSecretImage.getDefaultInstance() : groupSecretImage_;
        }
      }
      /**
       * <pre>
       *群图片加密消息
       * </pre>
       *
       * <code>.core.GroupSecretImage groupSecretImage = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretImage, com.akaxin.proto.core.CoreProto.GroupSecretImage.Builder, com.akaxin.proto.core.CoreProto.GroupSecretImageOrBuilder> 
          getGroupSecretImageFieldBuilder() {
        if (groupSecretImageBuilder_ == null) {
          groupSecretImageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupSecretImage, com.akaxin.proto.core.CoreProto.GroupSecretImage.Builder, com.akaxin.proto.core.CoreProto.GroupSecretImageOrBuilder>(
                  getGroupSecretImage(),
                  getParentForChildren(),
                  isClean());
          groupSecretImage_ = null;
        }
        return groupSecretImageBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.MsgVoice voice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgVoice, com.akaxin.proto.core.CoreProto.MsgVoice.Builder, com.akaxin.proto.core.CoreProto.MsgVoiceOrBuilder> voiceBuilder_;
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public boolean hasVoice() {
        return voiceBuilder_ != null || voice_ != null;
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgVoice getVoice() {
        if (voiceBuilder_ == null) {
          return voice_ == null ? com.akaxin.proto.core.CoreProto.MsgVoice.getDefaultInstance() : voice_;
        } else {
          return voiceBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public Builder setVoice(com.akaxin.proto.core.CoreProto.MsgVoice value) {
        if (voiceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          voice_ = value;
          onChanged();
        } else {
          voiceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public Builder setVoice(
          com.akaxin.proto.core.CoreProto.MsgVoice.Builder builderForValue) {
        if (voiceBuilder_ == null) {
          voice_ = builderForValue.build();
          onChanged();
        } else {
          voiceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public Builder mergeVoice(com.akaxin.proto.core.CoreProto.MsgVoice value) {
        if (voiceBuilder_ == null) {
          if (voice_ != null) {
            voice_ =
              com.akaxin.proto.core.CoreProto.MsgVoice.newBuilder(voice_).mergeFrom(value).buildPartial();
          } else {
            voice_ = value;
          }
          onChanged();
        } else {
          voiceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public Builder clearVoice() {
        if (voiceBuilder_ == null) {
          voice_ = null;
          onChanged();
        } else {
          voice_ = null;
          voiceBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgVoice.Builder getVoiceBuilder() {
        
        onChanged();
        return getVoiceFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgVoiceOrBuilder getVoiceOrBuilder() {
        if (voiceBuilder_ != null) {
          return voiceBuilder_.getMessageOrBuilder();
        } else {
          return voice_ == null ?
              com.akaxin.proto.core.CoreProto.MsgVoice.getDefaultInstance() : voice_;
        }
      }
      /**
       * <pre>
       *二人语音
       * </pre>
       *
       * <code>.core.MsgVoice voice = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgVoice, com.akaxin.proto.core.CoreProto.MsgVoice.Builder, com.akaxin.proto.core.CoreProto.MsgVoiceOrBuilder> 
          getVoiceFieldBuilder() {
        if (voiceBuilder_ == null) {
          voiceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.MsgVoice, com.akaxin.proto.core.CoreProto.MsgVoice.Builder, com.akaxin.proto.core.CoreProto.MsgVoiceOrBuilder>(
                  getVoice(),
                  getParentForChildren(),
                  isClean());
          voice_ = null;
        }
        return voiceBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.MsgSecretVoice secretVoice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgSecretVoice, com.akaxin.proto.core.CoreProto.MsgSecretVoice.Builder, com.akaxin.proto.core.CoreProto.MsgSecretVoiceOrBuilder> secretVoiceBuilder_;
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public boolean hasSecretVoice() {
        return secretVoiceBuilder_ != null || secretVoice_ != null;
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretVoice getSecretVoice() {
        if (secretVoiceBuilder_ == null) {
          return secretVoice_ == null ? com.akaxin.proto.core.CoreProto.MsgSecretVoice.getDefaultInstance() : secretVoice_;
        } else {
          return secretVoiceBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public Builder setSecretVoice(com.akaxin.proto.core.CoreProto.MsgSecretVoice value) {
        if (secretVoiceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          secretVoice_ = value;
          onChanged();
        } else {
          secretVoiceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public Builder setSecretVoice(
          com.akaxin.proto.core.CoreProto.MsgSecretVoice.Builder builderForValue) {
        if (secretVoiceBuilder_ == null) {
          secretVoice_ = builderForValue.build();
          onChanged();
        } else {
          secretVoiceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public Builder mergeSecretVoice(com.akaxin.proto.core.CoreProto.MsgSecretVoice value) {
        if (secretVoiceBuilder_ == null) {
          if (secretVoice_ != null) {
            secretVoice_ =
              com.akaxin.proto.core.CoreProto.MsgSecretVoice.newBuilder(secretVoice_).mergeFrom(value).buildPartial();
          } else {
            secretVoice_ = value;
          }
          onChanged();
        } else {
          secretVoiceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public Builder clearSecretVoice() {
        if (secretVoiceBuilder_ == null) {
          secretVoice_ = null;
          onChanged();
        } else {
          secretVoice_ = null;
          secretVoiceBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretVoice.Builder getSecretVoiceBuilder() {
        
        onChanged();
        return getSecretVoiceFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      public com.akaxin.proto.core.CoreProto.MsgSecretVoiceOrBuilder getSecretVoiceOrBuilder() {
        if (secretVoiceBuilder_ != null) {
          return secretVoiceBuilder_.getMessageOrBuilder();
        } else {
          return secretVoice_ == null ?
              com.akaxin.proto.core.CoreProto.MsgSecretVoice.getDefaultInstance() : secretVoice_;
        }
      }
      /**
       * <pre>
       *二人加密语音
       * </pre>
       *
       * <code>.core.MsgSecretVoice secretVoice = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.MsgSecretVoice, com.akaxin.proto.core.CoreProto.MsgSecretVoice.Builder, com.akaxin.proto.core.CoreProto.MsgSecretVoiceOrBuilder> 
          getSecretVoiceFieldBuilder() {
        if (secretVoiceBuilder_ == null) {
          secretVoiceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.MsgSecretVoice, com.akaxin.proto.core.CoreProto.MsgSecretVoice.Builder, com.akaxin.proto.core.CoreProto.MsgSecretVoiceOrBuilder>(
                  getSecretVoice(),
                  getParentForChildren(),
                  isClean());
          secretVoice_ = null;
        }
        return secretVoiceBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupVoice groupVoice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupVoice, com.akaxin.proto.core.CoreProto.GroupVoice.Builder, com.akaxin.proto.core.CoreProto.GroupVoiceOrBuilder> groupVoiceBuilder_;
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public boolean hasGroupVoice() {
        return groupVoiceBuilder_ != null || groupVoice_ != null;
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupVoice getGroupVoice() {
        if (groupVoiceBuilder_ == null) {
          return groupVoice_ == null ? com.akaxin.proto.core.CoreProto.GroupVoice.getDefaultInstance() : groupVoice_;
        } else {
          return groupVoiceBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public Builder setGroupVoice(com.akaxin.proto.core.CoreProto.GroupVoice value) {
        if (groupVoiceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupVoice_ = value;
          onChanged();
        } else {
          groupVoiceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public Builder setGroupVoice(
          com.akaxin.proto.core.CoreProto.GroupVoice.Builder builderForValue) {
        if (groupVoiceBuilder_ == null) {
          groupVoice_ = builderForValue.build();
          onChanged();
        } else {
          groupVoiceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public Builder mergeGroupVoice(com.akaxin.proto.core.CoreProto.GroupVoice value) {
        if (groupVoiceBuilder_ == null) {
          if (groupVoice_ != null) {
            groupVoice_ =
              com.akaxin.proto.core.CoreProto.GroupVoice.newBuilder(groupVoice_).mergeFrom(value).buildPartial();
          } else {
            groupVoice_ = value;
          }
          onChanged();
        } else {
          groupVoiceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public Builder clearGroupVoice() {
        if (groupVoiceBuilder_ == null) {
          groupVoice_ = null;
          onChanged();
        } else {
          groupVoice_ = null;
          groupVoiceBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupVoice.Builder getGroupVoiceBuilder() {
        
        onChanged();
        return getGroupVoiceFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupVoiceOrBuilder getGroupVoiceOrBuilder() {
        if (groupVoiceBuilder_ != null) {
          return groupVoiceBuilder_.getMessageOrBuilder();
        } else {
          return groupVoice_ == null ?
              com.akaxin.proto.core.CoreProto.GroupVoice.getDefaultInstance() : groupVoice_;
        }
      }
      /**
       * <pre>
       *群语音
       * </pre>
       *
       * <code>.core.GroupVoice groupVoice = 12;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupVoice, com.akaxin.proto.core.CoreProto.GroupVoice.Builder, com.akaxin.proto.core.CoreProto.GroupVoiceOrBuilder> 
          getGroupVoiceFieldBuilder() {
        if (groupVoiceBuilder_ == null) {
          groupVoiceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupVoice, com.akaxin.proto.core.CoreProto.GroupVoice.Builder, com.akaxin.proto.core.CoreProto.GroupVoiceOrBuilder>(
                  getGroupVoice(),
                  getParentForChildren(),
                  isClean());
          groupVoice_ = null;
        }
        return groupVoiceBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupSecretVoice groupSecretVoice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretVoice, com.akaxin.proto.core.CoreProto.GroupSecretVoice.Builder, com.akaxin.proto.core.CoreProto.GroupSecretVoiceOrBuilder> groupSecretVoiceBuilder_;
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public boolean hasGroupSecretVoice() {
        return groupSecretVoiceBuilder_ != null || groupSecretVoice_ != null;
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretVoice getGroupSecretVoice() {
        if (groupSecretVoiceBuilder_ == null) {
          return groupSecretVoice_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretVoice.getDefaultInstance() : groupSecretVoice_;
        } else {
          return groupSecretVoiceBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public Builder setGroupSecretVoice(com.akaxin.proto.core.CoreProto.GroupSecretVoice value) {
        if (groupSecretVoiceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupSecretVoice_ = value;
          onChanged();
        } else {
          groupSecretVoiceBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public Builder setGroupSecretVoice(
          com.akaxin.proto.core.CoreProto.GroupSecretVoice.Builder builderForValue) {
        if (groupSecretVoiceBuilder_ == null) {
          groupSecretVoice_ = builderForValue.build();
          onChanged();
        } else {
          groupSecretVoiceBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public Builder mergeGroupSecretVoice(com.akaxin.proto.core.CoreProto.GroupSecretVoice value) {
        if (groupSecretVoiceBuilder_ == null) {
          if (groupSecretVoice_ != null) {
            groupSecretVoice_ =
              com.akaxin.proto.core.CoreProto.GroupSecretVoice.newBuilder(groupSecretVoice_).mergeFrom(value).buildPartial();
          } else {
            groupSecretVoice_ = value;
          }
          onChanged();
        } else {
          groupSecretVoiceBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public Builder clearGroupSecretVoice() {
        if (groupSecretVoiceBuilder_ == null) {
          groupSecretVoice_ = null;
          onChanged();
        } else {
          groupSecretVoice_ = null;
          groupSecretVoiceBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretVoice.Builder getGroupSecretVoiceBuilder() {
        
        onChanged();
        return getGroupSecretVoiceFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretVoiceOrBuilder getGroupSecretVoiceOrBuilder() {
        if (groupSecretVoiceBuilder_ != null) {
          return groupSecretVoiceBuilder_.getMessageOrBuilder();
        } else {
          return groupSecretVoice_ == null ?
              com.akaxin.proto.core.CoreProto.GroupSecretVoice.getDefaultInstance() : groupSecretVoice_;
        }
      }
      /**
       * <pre>
       *群加密语音
       * </pre>
       *
       * <code>.core.GroupSecretVoice groupSecretVoice = 13;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretVoice, com.akaxin.proto.core.CoreProto.GroupSecretVoice.Builder, com.akaxin.proto.core.CoreProto.GroupSecretVoiceOrBuilder> 
          getGroupSecretVoiceFieldBuilder() {
        if (groupSecretVoiceBuilder_ == null) {
          groupSecretVoiceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupSecretVoice, com.akaxin.proto.core.CoreProto.GroupSecretVoice.Builder, com.akaxin.proto.core.CoreProto.GroupSecretVoiceOrBuilder>(
                  getGroupSecretVoice(),
                  getParentForChildren(),
                  isClean());
          groupSecretVoice_ = null;
        }
        return groupSecretVoiceBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.U2Map u2Map_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2Map, com.akaxin.proto.core.CoreProto.U2Map.Builder, com.akaxin.proto.core.CoreProto.U2MapOrBuilder> u2MapBuilder_;
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public boolean hasU2Map() {
        return u2MapBuilder_ != null || u2Map_ != null;
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2Map getU2Map() {
        if (u2MapBuilder_ == null) {
          return u2Map_ == null ? com.akaxin.proto.core.CoreProto.U2Map.getDefaultInstance() : u2Map_;
        } else {
          return u2MapBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public Builder setU2Map(com.akaxin.proto.core.CoreProto.U2Map value) {
        if (u2MapBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          u2Map_ = value;
          onChanged();
        } else {
          u2MapBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public Builder setU2Map(
          com.akaxin.proto.core.CoreProto.U2Map.Builder builderForValue) {
        if (u2MapBuilder_ == null) {
          u2Map_ = builderForValue.build();
          onChanged();
        } else {
          u2MapBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public Builder mergeU2Map(com.akaxin.proto.core.CoreProto.U2Map value) {
        if (u2MapBuilder_ == null) {
          if (u2Map_ != null) {
            u2Map_ =
              com.akaxin.proto.core.CoreProto.U2Map.newBuilder(u2Map_).mergeFrom(value).buildPartial();
          } else {
            u2Map_ = value;
          }
          onChanged();
        } else {
          u2MapBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public Builder clearU2Map() {
        if (u2MapBuilder_ == null) {
          u2Map_ = null;
          onChanged();
        } else {
          u2Map_ = null;
          u2MapBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2Map.Builder getU2MapBuilder() {
        
        onChanged();
        return getU2MapFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2MapOrBuilder getU2MapOrBuilder() {
        if (u2MapBuilder_ != null) {
          return u2MapBuilder_.getMessageOrBuilder();
        } else {
          return u2Map_ == null ?
              com.akaxin.proto.core.CoreProto.U2Map.getDefaultInstance() : u2Map_;
        }
      }
      /**
       * <pre>
       *v0.4.3 版本未使用
       * </pre>
       *
       * <code>.core.U2Map u2Map = 14;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2Map, com.akaxin.proto.core.CoreProto.U2Map.Builder, com.akaxin.proto.core.CoreProto.U2MapOrBuilder> 
          getU2MapFieldBuilder() {
        if (u2MapBuilder_ == null) {
          u2MapBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.U2Map, com.akaxin.proto.core.CoreProto.U2Map.Builder, com.akaxin.proto.core.CoreProto.U2MapOrBuilder>(
                  getU2Map(),
                  getParentForChildren(),
                  isClean());
          u2Map_ = null;
        }
        return u2MapBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.U2SecretMap u2SecretMap_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2SecretMap, com.akaxin.proto.core.CoreProto.U2SecretMap.Builder, com.akaxin.proto.core.CoreProto.U2SecretMapOrBuilder> u2SecretMapBuilder_;
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public boolean hasU2SecretMap() {
        return u2SecretMapBuilder_ != null || u2SecretMap_ != null;
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2SecretMap getU2SecretMap() {
        if (u2SecretMapBuilder_ == null) {
          return u2SecretMap_ == null ? com.akaxin.proto.core.CoreProto.U2SecretMap.getDefaultInstance() : u2SecretMap_;
        } else {
          return u2SecretMapBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public Builder setU2SecretMap(com.akaxin.proto.core.CoreProto.U2SecretMap value) {
        if (u2SecretMapBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          u2SecretMap_ = value;
          onChanged();
        } else {
          u2SecretMapBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public Builder setU2SecretMap(
          com.akaxin.proto.core.CoreProto.U2SecretMap.Builder builderForValue) {
        if (u2SecretMapBuilder_ == null) {
          u2SecretMap_ = builderForValue.build();
          onChanged();
        } else {
          u2SecretMapBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public Builder mergeU2SecretMap(com.akaxin.proto.core.CoreProto.U2SecretMap value) {
        if (u2SecretMapBuilder_ == null) {
          if (u2SecretMap_ != null) {
            u2SecretMap_ =
              com.akaxin.proto.core.CoreProto.U2SecretMap.newBuilder(u2SecretMap_).mergeFrom(value).buildPartial();
          } else {
            u2SecretMap_ = value;
          }
          onChanged();
        } else {
          u2SecretMapBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public Builder clearU2SecretMap() {
        if (u2SecretMapBuilder_ == null) {
          u2SecretMap_ = null;
          onChanged();
        } else {
          u2SecretMap_ = null;
          u2SecretMapBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2SecretMap.Builder getU2SecretMapBuilder() {
        
        onChanged();
        return getU2SecretMapFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2SecretMapOrBuilder getU2SecretMapOrBuilder() {
        if (u2SecretMapBuilder_ != null) {
          return u2SecretMapBuilder_.getMessageOrBuilder();
        } else {
          return u2SecretMap_ == null ?
              com.akaxin.proto.core.CoreProto.U2SecretMap.getDefaultInstance() : u2SecretMap_;
        }
      }
      /**
       * <pre>
       *加密地图消息
       * </pre>
       *
       * <code>.core.U2SecretMap u2SecretMap = 15;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2SecretMap, com.akaxin.proto.core.CoreProto.U2SecretMap.Builder, com.akaxin.proto.core.CoreProto.U2SecretMapOrBuilder> 
          getU2SecretMapFieldBuilder() {
        if (u2SecretMapBuilder_ == null) {
          u2SecretMapBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.U2SecretMap, com.akaxin.proto.core.CoreProto.U2SecretMap.Builder, com.akaxin.proto.core.CoreProto.U2SecretMapOrBuilder>(
                  getU2SecretMap(),
                  getParentForChildren(),
                  isClean());
          u2SecretMap_ = null;
        }
        return u2SecretMapBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupMap groupMap_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupMap, com.akaxin.proto.core.CoreProto.GroupMap.Builder, com.akaxin.proto.core.CoreProto.GroupMapOrBuilder> groupMapBuilder_;
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public boolean hasGroupMap() {
        return groupMapBuilder_ != null || groupMap_ != null;
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupMap getGroupMap() {
        if (groupMapBuilder_ == null) {
          return groupMap_ == null ? com.akaxin.proto.core.CoreProto.GroupMap.getDefaultInstance() : groupMap_;
        } else {
          return groupMapBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public Builder setGroupMap(com.akaxin.proto.core.CoreProto.GroupMap value) {
        if (groupMapBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupMap_ = value;
          onChanged();
        } else {
          groupMapBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public Builder setGroupMap(
          com.akaxin.proto.core.CoreProto.GroupMap.Builder builderForValue) {
        if (groupMapBuilder_ == null) {
          groupMap_ = builderForValue.build();
          onChanged();
        } else {
          groupMapBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public Builder mergeGroupMap(com.akaxin.proto.core.CoreProto.GroupMap value) {
        if (groupMapBuilder_ == null) {
          if (groupMap_ != null) {
            groupMap_ =
              com.akaxin.proto.core.CoreProto.GroupMap.newBuilder(groupMap_).mergeFrom(value).buildPartial();
          } else {
            groupMap_ = value;
          }
          onChanged();
        } else {
          groupMapBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public Builder clearGroupMap() {
        if (groupMapBuilder_ == null) {
          groupMap_ = null;
          onChanged();
        } else {
          groupMap_ = null;
          groupMapBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupMap.Builder getGroupMapBuilder() {
        
        onChanged();
        return getGroupMapFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupMapOrBuilder getGroupMapOrBuilder() {
        if (groupMapBuilder_ != null) {
          return groupMapBuilder_.getMessageOrBuilder();
        } else {
          return groupMap_ == null ?
              com.akaxin.proto.core.CoreProto.GroupMap.getDefaultInstance() : groupMap_;
        }
      }
      /**
       * <pre>
       *群地图
       * </pre>
       *
       * <code>.core.GroupMap groupMap = 16;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupMap, com.akaxin.proto.core.CoreProto.GroupMap.Builder, com.akaxin.proto.core.CoreProto.GroupMapOrBuilder> 
          getGroupMapFieldBuilder() {
        if (groupMapBuilder_ == null) {
          groupMapBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupMap, com.akaxin.proto.core.CoreProto.GroupMap.Builder, com.akaxin.proto.core.CoreProto.GroupMapOrBuilder>(
                  getGroupMap(),
                  getParentForChildren(),
                  isClean());
          groupMap_ = null;
        }
        return groupMapBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupSecretMap groupSecretMap_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretMap, com.akaxin.proto.core.CoreProto.GroupSecretMap.Builder, com.akaxin.proto.core.CoreProto.GroupSecretMapOrBuilder> groupSecretMapBuilder_;
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public boolean hasGroupSecretMap() {
        return groupSecretMapBuilder_ != null || groupSecretMap_ != null;
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretMap getGroupSecretMap() {
        if (groupSecretMapBuilder_ == null) {
          return groupSecretMap_ == null ? com.akaxin.proto.core.CoreProto.GroupSecretMap.getDefaultInstance() : groupSecretMap_;
        } else {
          return groupSecretMapBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public Builder setGroupSecretMap(com.akaxin.proto.core.CoreProto.GroupSecretMap value) {
        if (groupSecretMapBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupSecretMap_ = value;
          onChanged();
        } else {
          groupSecretMapBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public Builder setGroupSecretMap(
          com.akaxin.proto.core.CoreProto.GroupSecretMap.Builder builderForValue) {
        if (groupSecretMapBuilder_ == null) {
          groupSecretMap_ = builderForValue.build();
          onChanged();
        } else {
          groupSecretMapBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public Builder mergeGroupSecretMap(com.akaxin.proto.core.CoreProto.GroupSecretMap value) {
        if (groupSecretMapBuilder_ == null) {
          if (groupSecretMap_ != null) {
            groupSecretMap_ =
              com.akaxin.proto.core.CoreProto.GroupSecretMap.newBuilder(groupSecretMap_).mergeFrom(value).buildPartial();
          } else {
            groupSecretMap_ = value;
          }
          onChanged();
        } else {
          groupSecretMapBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public Builder clearGroupSecretMap() {
        if (groupSecretMapBuilder_ == null) {
          groupSecretMap_ = null;
          onChanged();
        } else {
          groupSecretMap_ = null;
          groupSecretMapBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretMap.Builder getGroupSecretMapBuilder() {
        
        onChanged();
        return getGroupSecretMapFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupSecretMapOrBuilder getGroupSecretMapOrBuilder() {
        if (groupSecretMapBuilder_ != null) {
          return groupSecretMapBuilder_.getMessageOrBuilder();
        } else {
          return groupSecretMap_ == null ?
              com.akaxin.proto.core.CoreProto.GroupSecretMap.getDefaultInstance() : groupSecretMap_;
        }
      }
      /**
       * <pre>
       *群加密地图
       * </pre>
       *
       * <code>.core.GroupSecretMap groupSecretMap = 17;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupSecretMap, com.akaxin.proto.core.CoreProto.GroupSecretMap.Builder, com.akaxin.proto.core.CoreProto.GroupSecretMapOrBuilder> 
          getGroupSecretMapFieldBuilder() {
        if (groupSecretMapBuilder_ == null) {
          groupSecretMapBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupSecretMap, com.akaxin.proto.core.CoreProto.GroupSecretMap.Builder, com.akaxin.proto.core.CoreProto.GroupSecretMapOrBuilder>(
                  getGroupSecretMap(),
                  getParentForChildren(),
                  isClean());
          groupSecretMap_ = null;
        }
        return groupSecretMapBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.U2MsgNotice u2MsgNotice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2MsgNotice, com.akaxin.proto.core.CoreProto.U2MsgNotice.Builder, com.akaxin.proto.core.CoreProto.U2MsgNoticeOrBuilder> u2MsgNoticeBuilder_;
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public boolean hasU2MsgNotice() {
        return u2MsgNoticeBuilder_ != null || u2MsgNotice_ != null;
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2MsgNotice getU2MsgNotice() {
        if (u2MsgNoticeBuilder_ == null) {
          return u2MsgNotice_ == null ? com.akaxin.proto.core.CoreProto.U2MsgNotice.getDefaultInstance() : u2MsgNotice_;
        } else {
          return u2MsgNoticeBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public Builder setU2MsgNotice(com.akaxin.proto.core.CoreProto.U2MsgNotice value) {
        if (u2MsgNoticeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          u2MsgNotice_ = value;
          onChanged();
        } else {
          u2MsgNoticeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public Builder setU2MsgNotice(
          com.akaxin.proto.core.CoreProto.U2MsgNotice.Builder builderForValue) {
        if (u2MsgNoticeBuilder_ == null) {
          u2MsgNotice_ = builderForValue.build();
          onChanged();
        } else {
          u2MsgNoticeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public Builder mergeU2MsgNotice(com.akaxin.proto.core.CoreProto.U2MsgNotice value) {
        if (u2MsgNoticeBuilder_ == null) {
          if (u2MsgNotice_ != null) {
            u2MsgNotice_ =
              com.akaxin.proto.core.CoreProto.U2MsgNotice.newBuilder(u2MsgNotice_).mergeFrom(value).buildPartial();
          } else {
            u2MsgNotice_ = value;
          }
          onChanged();
        } else {
          u2MsgNoticeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public Builder clearU2MsgNotice() {
        if (u2MsgNoticeBuilder_ == null) {
          u2MsgNotice_ = null;
          onChanged();
        } else {
          u2MsgNotice_ = null;
          u2MsgNoticeBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2MsgNotice.Builder getU2MsgNoticeBuilder() {
        
        onChanged();
        return getU2MsgNoticeFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2MsgNoticeOrBuilder getU2MsgNoticeOrBuilder() {
        if (u2MsgNoticeBuilder_ != null) {
          return u2MsgNoticeBuilder_.getMessageOrBuilder();
        } else {
          return u2MsgNotice_ == null ?
              com.akaxin.proto.core.CoreProto.U2MsgNotice.getDefaultInstance() : u2MsgNotice_;
        }
      }
      /**
       * <pre>
       *通知消息
       * </pre>
       *
       * <code>.core.U2MsgNotice u2MsgNotice = 18;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2MsgNotice, com.akaxin.proto.core.CoreProto.U2MsgNotice.Builder, com.akaxin.proto.core.CoreProto.U2MsgNoticeOrBuilder> 
          getU2MsgNoticeFieldBuilder() {
        if (u2MsgNoticeBuilder_ == null) {
          u2MsgNoticeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.U2MsgNotice, com.akaxin.proto.core.CoreProto.U2MsgNotice.Builder, com.akaxin.proto.core.CoreProto.U2MsgNoticeOrBuilder>(
                  getU2MsgNotice(),
                  getParentForChildren(),
                  isClean());
          u2MsgNotice_ = null;
        }
        return u2MsgNoticeBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupMsgNotice groupMsgNotice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupMsgNotice, com.akaxin.proto.core.CoreProto.GroupMsgNotice.Builder, com.akaxin.proto.core.CoreProto.GroupMsgNoticeOrBuilder> groupMsgNoticeBuilder_;
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public boolean hasGroupMsgNotice() {
        return groupMsgNoticeBuilder_ != null || groupMsgNotice_ != null;
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupMsgNotice getGroupMsgNotice() {
        if (groupMsgNoticeBuilder_ == null) {
          return groupMsgNotice_ == null ? com.akaxin.proto.core.CoreProto.GroupMsgNotice.getDefaultInstance() : groupMsgNotice_;
        } else {
          return groupMsgNoticeBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public Builder setGroupMsgNotice(com.akaxin.proto.core.CoreProto.GroupMsgNotice value) {
        if (groupMsgNoticeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupMsgNotice_ = value;
          onChanged();
        } else {
          groupMsgNoticeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public Builder setGroupMsgNotice(
          com.akaxin.proto.core.CoreProto.GroupMsgNotice.Builder builderForValue) {
        if (groupMsgNoticeBuilder_ == null) {
          groupMsgNotice_ = builderForValue.build();
          onChanged();
        } else {
          groupMsgNoticeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public Builder mergeGroupMsgNotice(com.akaxin.proto.core.CoreProto.GroupMsgNotice value) {
        if (groupMsgNoticeBuilder_ == null) {
          if (groupMsgNotice_ != null) {
            groupMsgNotice_ =
              com.akaxin.proto.core.CoreProto.GroupMsgNotice.newBuilder(groupMsgNotice_).mergeFrom(value).buildPartial();
          } else {
            groupMsgNotice_ = value;
          }
          onChanged();
        } else {
          groupMsgNoticeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public Builder clearGroupMsgNotice() {
        if (groupMsgNoticeBuilder_ == null) {
          groupMsgNotice_ = null;
          onChanged();
        } else {
          groupMsgNotice_ = null;
          groupMsgNoticeBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupMsgNotice.Builder getGroupMsgNoticeBuilder() {
        
        onChanged();
        return getGroupMsgNoticeFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupMsgNoticeOrBuilder getGroupMsgNoticeOrBuilder() {
        if (groupMsgNoticeBuilder_ != null) {
          return groupMsgNoticeBuilder_.getMessageOrBuilder();
        } else {
          return groupMsgNotice_ == null ?
              com.akaxin.proto.core.CoreProto.GroupMsgNotice.getDefaultInstance() : groupMsgNotice_;
        }
      }
      /**
       * <pre>
       *群消息通知
       * </pre>
       *
       * <code>.core.GroupMsgNotice groupMsgNotice = 19;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupMsgNotice, com.akaxin.proto.core.CoreProto.GroupMsgNotice.Builder, com.akaxin.proto.core.CoreProto.GroupMsgNoticeOrBuilder> 
          getGroupMsgNoticeFieldBuilder() {
        if (groupMsgNoticeBuilder_ == null) {
          groupMsgNoticeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupMsgNotice, com.akaxin.proto.core.CoreProto.GroupMsgNotice.Builder, com.akaxin.proto.core.CoreProto.GroupMsgNoticeOrBuilder>(
                  getGroupMsgNotice(),
                  getParentForChildren(),
                  isClean());
          groupMsgNotice_ = null;
        }
        return groupMsgNoticeBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.U2Recall u2Recall_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2Recall, com.akaxin.proto.core.CoreProto.U2Recall.Builder, com.akaxin.proto.core.CoreProto.U2RecallOrBuilder> u2RecallBuilder_;
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public boolean hasU2Recall() {
        return u2RecallBuilder_ != null || u2Recall_ != null;
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2Recall getU2Recall() {
        if (u2RecallBuilder_ == null) {
          return u2Recall_ == null ? com.akaxin.proto.core.CoreProto.U2Recall.getDefaultInstance() : u2Recall_;
        } else {
          return u2RecallBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public Builder setU2Recall(com.akaxin.proto.core.CoreProto.U2Recall value) {
        if (u2RecallBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          u2Recall_ = value;
          onChanged();
        } else {
          u2RecallBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public Builder setU2Recall(
          com.akaxin.proto.core.CoreProto.U2Recall.Builder builderForValue) {
        if (u2RecallBuilder_ == null) {
          u2Recall_ = builderForValue.build();
          onChanged();
        } else {
          u2RecallBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public Builder mergeU2Recall(com.akaxin.proto.core.CoreProto.U2Recall value) {
        if (u2RecallBuilder_ == null) {
          if (u2Recall_ != null) {
            u2Recall_ =
              com.akaxin.proto.core.CoreProto.U2Recall.newBuilder(u2Recall_).mergeFrom(value).buildPartial();
          } else {
            u2Recall_ = value;
          }
          onChanged();
        } else {
          u2RecallBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public Builder clearU2Recall() {
        if (u2RecallBuilder_ == null) {
          u2Recall_ = null;
          onChanged();
        } else {
          u2Recall_ = null;
          u2RecallBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2Recall.Builder getU2RecallBuilder() {
        
        onChanged();
        return getU2RecallFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2RecallOrBuilder getU2RecallOrBuilder() {
        if (u2RecallBuilder_ != null) {
          return u2RecallBuilder_.getMessageOrBuilder();
        } else {
          return u2Recall_ == null ?
              com.akaxin.proto.core.CoreProto.U2Recall.getDefaultInstance() : u2Recall_;
        }
      }
      /**
       * <pre>
       *召回消息
       * </pre>
       *
       * <code>.core.U2Recall u2Recall = 20;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2Recall, com.akaxin.proto.core.CoreProto.U2Recall.Builder, com.akaxin.proto.core.CoreProto.U2RecallOrBuilder> 
          getU2RecallFieldBuilder() {
        if (u2RecallBuilder_ == null) {
          u2RecallBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.U2Recall, com.akaxin.proto.core.CoreProto.U2Recall.Builder, com.akaxin.proto.core.CoreProto.U2RecallOrBuilder>(
                  getU2Recall(),
                  getParentForChildren(),
                  isClean());
          u2Recall_ = null;
        }
        return u2RecallBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupRecall groupRecall_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupRecall, com.akaxin.proto.core.CoreProto.GroupRecall.Builder, com.akaxin.proto.core.CoreProto.GroupRecallOrBuilder> groupRecallBuilder_;
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public boolean hasGroupRecall() {
        return groupRecallBuilder_ != null || groupRecall_ != null;
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupRecall getGroupRecall() {
        if (groupRecallBuilder_ == null) {
          return groupRecall_ == null ? com.akaxin.proto.core.CoreProto.GroupRecall.getDefaultInstance() : groupRecall_;
        } else {
          return groupRecallBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public Builder setGroupRecall(com.akaxin.proto.core.CoreProto.GroupRecall value) {
        if (groupRecallBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupRecall_ = value;
          onChanged();
        } else {
          groupRecallBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public Builder setGroupRecall(
          com.akaxin.proto.core.CoreProto.GroupRecall.Builder builderForValue) {
        if (groupRecallBuilder_ == null) {
          groupRecall_ = builderForValue.build();
          onChanged();
        } else {
          groupRecallBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public Builder mergeGroupRecall(com.akaxin.proto.core.CoreProto.GroupRecall value) {
        if (groupRecallBuilder_ == null) {
          if (groupRecall_ != null) {
            groupRecall_ =
              com.akaxin.proto.core.CoreProto.GroupRecall.newBuilder(groupRecall_).mergeFrom(value).buildPartial();
          } else {
            groupRecall_ = value;
          }
          onChanged();
        } else {
          groupRecallBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public Builder clearGroupRecall() {
        if (groupRecallBuilder_ == null) {
          groupRecall_ = null;
          onChanged();
        } else {
          groupRecall_ = null;
          groupRecallBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupRecall.Builder getGroupRecallBuilder() {
        
        onChanged();
        return getGroupRecallFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupRecallOrBuilder getGroupRecallOrBuilder() {
        if (groupRecallBuilder_ != null) {
          return groupRecallBuilder_.getMessageOrBuilder();
        } else {
          return groupRecall_ == null ?
              com.akaxin.proto.core.CoreProto.GroupRecall.getDefaultInstance() : groupRecall_;
        }
      }
      /**
       * <pre>
       *群组召回消息
       * </pre>
       *
       * <code>.core.GroupRecall groupRecall = 21;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupRecall, com.akaxin.proto.core.CoreProto.GroupRecall.Builder, com.akaxin.proto.core.CoreProto.GroupRecallOrBuilder> 
          getGroupRecallFieldBuilder() {
        if (groupRecallBuilder_ == null) {
          groupRecallBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupRecall, com.akaxin.proto.core.CoreProto.GroupRecall.Builder, com.akaxin.proto.core.CoreProto.GroupRecallOrBuilder>(
                  getGroupRecall(),
                  getParentForChildren(),
                  isClean());
          groupRecall_ = null;
        }
        return groupRecallBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.U2Web u2Web_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2Web, com.akaxin.proto.core.CoreProto.U2Web.Builder, com.akaxin.proto.core.CoreProto.U2WebOrBuilder> u2WebBuilder_;
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public boolean hasU2Web() {
        return u2WebBuilder_ != null || u2Web_ != null;
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2Web getU2Web() {
        if (u2WebBuilder_ == null) {
          return u2Web_ == null ? com.akaxin.proto.core.CoreProto.U2Web.getDefaultInstance() : u2Web_;
        } else {
          return u2WebBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public Builder setU2Web(com.akaxin.proto.core.CoreProto.U2Web value) {
        if (u2WebBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          u2Web_ = value;
          onChanged();
        } else {
          u2WebBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public Builder setU2Web(
          com.akaxin.proto.core.CoreProto.U2Web.Builder builderForValue) {
        if (u2WebBuilder_ == null) {
          u2Web_ = builderForValue.build();
          onChanged();
        } else {
          u2WebBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public Builder mergeU2Web(com.akaxin.proto.core.CoreProto.U2Web value) {
        if (u2WebBuilder_ == null) {
          if (u2Web_ != null) {
            u2Web_ =
              com.akaxin.proto.core.CoreProto.U2Web.newBuilder(u2Web_).mergeFrom(value).buildPartial();
          } else {
            u2Web_ = value;
          }
          onChanged();
        } else {
          u2WebBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public Builder clearU2Web() {
        if (u2WebBuilder_ == null) {
          u2Web_ = null;
          onChanged();
        } else {
          u2Web_ = null;
          u2WebBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2Web.Builder getU2WebBuilder() {
        
        onChanged();
        return getU2WebFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2WebOrBuilder getU2WebOrBuilder() {
        if (u2WebBuilder_ != null) {
          return u2WebBuilder_.getMessageOrBuilder();
        } else {
          return u2Web_ == null ?
              com.akaxin.proto.core.CoreProto.U2Web.getDefaultInstance() : u2Web_;
        }
      }
      /**
       * <pre>
       *web消息
       * </pre>
       *
       * <code>.core.U2Web u2Web = 22;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2Web, com.akaxin.proto.core.CoreProto.U2Web.Builder, com.akaxin.proto.core.CoreProto.U2WebOrBuilder> 
          getU2WebFieldBuilder() {
        if (u2WebBuilder_ == null) {
          u2WebBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.U2Web, com.akaxin.proto.core.CoreProto.U2Web.Builder, com.akaxin.proto.core.CoreProto.U2WebOrBuilder>(
                  getU2Web(),
                  getParentForChildren(),
                  isClean());
          u2Web_ = null;
        }
        return u2WebBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupWeb groupWeb_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupWeb, com.akaxin.proto.core.CoreProto.GroupWeb.Builder, com.akaxin.proto.core.CoreProto.GroupWebOrBuilder> groupWebBuilder_;
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public boolean hasGroupWeb() {
        return groupWebBuilder_ != null || groupWeb_ != null;
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupWeb getGroupWeb() {
        if (groupWebBuilder_ == null) {
          return groupWeb_ == null ? com.akaxin.proto.core.CoreProto.GroupWeb.getDefaultInstance() : groupWeb_;
        } else {
          return groupWebBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public Builder setGroupWeb(com.akaxin.proto.core.CoreProto.GroupWeb value) {
        if (groupWebBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupWeb_ = value;
          onChanged();
        } else {
          groupWebBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public Builder setGroupWeb(
          com.akaxin.proto.core.CoreProto.GroupWeb.Builder builderForValue) {
        if (groupWebBuilder_ == null) {
          groupWeb_ = builderForValue.build();
          onChanged();
        } else {
          groupWebBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public Builder mergeGroupWeb(com.akaxin.proto.core.CoreProto.GroupWeb value) {
        if (groupWebBuilder_ == null) {
          if (groupWeb_ != null) {
            groupWeb_ =
              com.akaxin.proto.core.CoreProto.GroupWeb.newBuilder(groupWeb_).mergeFrom(value).buildPartial();
          } else {
            groupWeb_ = value;
          }
          onChanged();
        } else {
          groupWebBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public Builder clearGroupWeb() {
        if (groupWebBuilder_ == null) {
          groupWeb_ = null;
          onChanged();
        } else {
          groupWeb_ = null;
          groupWebBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupWeb.Builder getGroupWebBuilder() {
        
        onChanged();
        return getGroupWebFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupWebOrBuilder getGroupWebOrBuilder() {
        if (groupWebBuilder_ != null) {
          return groupWebBuilder_.getMessageOrBuilder();
        } else {
          return groupWeb_ == null ?
              com.akaxin.proto.core.CoreProto.GroupWeb.getDefaultInstance() : groupWeb_;
        }
      }
      /**
       * <pre>
       *群组web消息
       * </pre>
       *
       * <code>.core.GroupWeb groupWeb = 23;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupWeb, com.akaxin.proto.core.CoreProto.GroupWeb.Builder, com.akaxin.proto.core.CoreProto.GroupWebOrBuilder> 
          getGroupWebFieldBuilder() {
        if (groupWebBuilder_ == null) {
          groupWebBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupWeb, com.akaxin.proto.core.CoreProto.GroupWeb.Builder, com.akaxin.proto.core.CoreProto.GroupWebOrBuilder>(
                  getGroupWeb(),
                  getParentForChildren(),
                  isClean());
          groupWeb_ = null;
        }
        return groupWebBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.U2WebNotice u2WebNotice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2WebNotice, com.akaxin.proto.core.CoreProto.U2WebNotice.Builder, com.akaxin.proto.core.CoreProto.U2WebNoticeOrBuilder> u2WebNoticeBuilder_;
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public boolean hasU2WebNotice() {
        return u2WebNoticeBuilder_ != null || u2WebNotice_ != null;
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2WebNotice getU2WebNotice() {
        if (u2WebNoticeBuilder_ == null) {
          return u2WebNotice_ == null ? com.akaxin.proto.core.CoreProto.U2WebNotice.getDefaultInstance() : u2WebNotice_;
        } else {
          return u2WebNoticeBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public Builder setU2WebNotice(com.akaxin.proto.core.CoreProto.U2WebNotice value) {
        if (u2WebNoticeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          u2WebNotice_ = value;
          onChanged();
        } else {
          u2WebNoticeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public Builder setU2WebNotice(
          com.akaxin.proto.core.CoreProto.U2WebNotice.Builder builderForValue) {
        if (u2WebNoticeBuilder_ == null) {
          u2WebNotice_ = builderForValue.build();
          onChanged();
        } else {
          u2WebNoticeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public Builder mergeU2WebNotice(com.akaxin.proto.core.CoreProto.U2WebNotice value) {
        if (u2WebNoticeBuilder_ == null) {
          if (u2WebNotice_ != null) {
            u2WebNotice_ =
              com.akaxin.proto.core.CoreProto.U2WebNotice.newBuilder(u2WebNotice_).mergeFrom(value).buildPartial();
          } else {
            u2WebNotice_ = value;
          }
          onChanged();
        } else {
          u2WebNoticeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public Builder clearU2WebNotice() {
        if (u2WebNoticeBuilder_ == null) {
          u2WebNotice_ = null;
          onChanged();
        } else {
          u2WebNotice_ = null;
          u2WebNoticeBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2WebNotice.Builder getU2WebNoticeBuilder() {
        
        onChanged();
        return getU2WebNoticeFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      public com.akaxin.proto.core.CoreProto.U2WebNoticeOrBuilder getU2WebNoticeOrBuilder() {
        if (u2WebNoticeBuilder_ != null) {
          return u2WebNoticeBuilder_.getMessageOrBuilder();
        } else {
          return u2WebNotice_ == null ?
              com.akaxin.proto.core.CoreProto.U2WebNotice.getDefaultInstance() : u2WebNotice_;
        }
      }
      /**
       * <pre>
       *web通知消息
       * </pre>
       *
       * <code>.core.U2WebNotice u2WebNotice = 24;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.U2WebNotice, com.akaxin.proto.core.CoreProto.U2WebNotice.Builder, com.akaxin.proto.core.CoreProto.U2WebNoticeOrBuilder> 
          getU2WebNoticeFieldBuilder() {
        if (u2WebNoticeBuilder_ == null) {
          u2WebNoticeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.U2WebNotice, com.akaxin.proto.core.CoreProto.U2WebNotice.Builder, com.akaxin.proto.core.CoreProto.U2WebNoticeOrBuilder>(
                  getU2WebNotice(),
                  getParentForChildren(),
                  isClean());
          u2WebNotice_ = null;
        }
        return u2WebNoticeBuilder_;
      }

      private com.akaxin.proto.core.CoreProto.GroupWebNotice groupWebNotice_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupWebNotice, com.akaxin.proto.core.CoreProto.GroupWebNotice.Builder, com.akaxin.proto.core.CoreProto.GroupWebNoticeOrBuilder> groupWebNoticeBuilder_;
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public boolean hasGroupWebNotice() {
        return groupWebNoticeBuilder_ != null || groupWebNotice_ != null;
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupWebNotice getGroupWebNotice() {
        if (groupWebNoticeBuilder_ == null) {
          return groupWebNotice_ == null ? com.akaxin.proto.core.CoreProto.GroupWebNotice.getDefaultInstance() : groupWebNotice_;
        } else {
          return groupWebNoticeBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public Builder setGroupWebNotice(com.akaxin.proto.core.CoreProto.GroupWebNotice value) {
        if (groupWebNoticeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groupWebNotice_ = value;
          onChanged();
        } else {
          groupWebNoticeBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public Builder setGroupWebNotice(
          com.akaxin.proto.core.CoreProto.GroupWebNotice.Builder builderForValue) {
        if (groupWebNoticeBuilder_ == null) {
          groupWebNotice_ = builderForValue.build();
          onChanged();
        } else {
          groupWebNoticeBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public Builder mergeGroupWebNotice(com.akaxin.proto.core.CoreProto.GroupWebNotice value) {
        if (groupWebNoticeBuilder_ == null) {
          if (groupWebNotice_ != null) {
            groupWebNotice_ =
              com.akaxin.proto.core.CoreProto.GroupWebNotice.newBuilder(groupWebNotice_).mergeFrom(value).buildPartial();
          } else {
            groupWebNotice_ = value;
          }
          onChanged();
        } else {
          groupWebNoticeBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public Builder clearGroupWebNotice() {
        if (groupWebNoticeBuilder_ == null) {
          groupWebNotice_ = null;
          onChanged();
        } else {
          groupWebNotice_ = null;
          groupWebNoticeBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupWebNotice.Builder getGroupWebNoticeBuilder() {
        
        onChanged();
        return getGroupWebNoticeFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      public com.akaxin.proto.core.CoreProto.GroupWebNoticeOrBuilder getGroupWebNoticeOrBuilder() {
        if (groupWebNoticeBuilder_ != null) {
          return groupWebNoticeBuilder_.getMessageOrBuilder();
        } else {
          return groupWebNotice_ == null ?
              com.akaxin.proto.core.CoreProto.GroupWebNotice.getDefaultInstance() : groupWebNotice_;
        }
      }
      /**
       * <pre>
       *群组web通知消息
       * </pre>
       *
       * <code>.core.GroupWebNotice groupWebNotice = 25;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.akaxin.proto.core.CoreProto.GroupWebNotice, com.akaxin.proto.core.CoreProto.GroupWebNotice.Builder, com.akaxin.proto.core.CoreProto.GroupWebNoticeOrBuilder> 
          getGroupWebNoticeFieldBuilder() {
        if (groupWebNoticeBuilder_ == null) {
          groupWebNoticeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.akaxin.proto.core.CoreProto.GroupWebNotice, com.akaxin.proto.core.CoreProto.GroupWebNotice.Builder, com.akaxin.proto.core.CoreProto.GroupWebNoticeOrBuilder>(
                  getGroupWebNotice(),
                  getParentForChildren(),
                  isClean());
          groupWebNotice_ = null;
        }
        return groupWebNoticeBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:site.ImCtsMessageRequest)
    }

    // @@protoc_insertion_point(class_scope:site.ImCtsMessageRequest)
    private static final com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest();
    }

    public static com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public com.akaxin.proto.site.ImCtsMessageProto.ImCtsMessageRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_site_ImCtsMessageRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_site_ImCtsMessageRequest_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\031site/im_cts_message.proto\022\004site\032\017core/" +
      "core.proto\"\330\007\n\023ImCtsMessageRequest\022\033\n\004ty" +
      "pe\030\001 \001(\0162\r.core.MsgType\022\033\n\004text\030\002 \001(\0132\r." +
      "core.MsgText\022\'\n\nsecretText\030\003 \001(\0132\023.core." +
      "MsgSecretText\022\"\n\tgroupText\030\004 \001(\0132\017.core." +
      "GroupText\022.\n\017groupSecretText\030\005 \001(\0132\025.cor" +
      "e.GroupSecretText\022\035\n\005image\030\006 \001(\0132\016.core." +
      "MsgImage\022)\n\013secretImage\030\007 \001(\0132\024.core.Msg" +
      "SecretImage\022$\n\ngroupImage\030\010 \001(\0132\020.core.G" +
      "roupImage\0220\n\020groupSecretImage\030\t \001(\0132\026.co" +
      "re.GroupSecretImage\022\035\n\005voice\030\n \001(\0132\016.cor" +
      "e.MsgVoice\022)\n\013secretVoice\030\013 \001(\0132\024.core.M" +
      "sgSecretVoice\022$\n\ngroupVoice\030\014 \001(\0132\020.core" +
      ".GroupVoice\0220\n\020groupSecretVoice\030\r \001(\0132\026." +
      "core.GroupSecretVoice\022\032\n\005u2Map\030\016 \001(\0132\013.c" +
      "ore.U2Map\022&\n\013u2SecretMap\030\017 \001(\0132\021.core.U2" +
      "SecretMap\022 \n\010groupMap\030\020 \001(\0132\016.core.Group" +
      "Map\022,\n\016groupSecretMap\030\021 \001(\0132\024.core.Group" +
      "SecretMap\022&\n\013u2MsgNotice\030\022 \001(\0132\021.core.U2" +
      "MsgNotice\022,\n\016groupMsgNotice\030\023 \001(\0132\024.core" +
      ".GroupMsgNotice\022 \n\010u2Recall\030\024 \001(\0132\016.core" +
      ".U2Recall\022&\n\013groupRecall\030\025 \001(\0132\021.core.Gr" +
      "oupRecall\022\032\n\005u2Web\030\026 \001(\0132\013.core.U2Web\022 \n" +
      "\010groupWeb\030\027 \001(\0132\016.core.GroupWeb\022&\n\013u2Web" +
      "Notice\030\030 \001(\0132\021.core.U2WebNotice\022,\n\016group" +
      "WebNotice\030\031 \001(\0132\024.core.GroupWebNotice2O\n" +
      "\023ImCtsMessageService\0228\n\007message\022\031.site.I" +
      "mCtsMessageRequest\032\022.core.NoneResponseB*" +
      "\n\025com.akaxin.proto.siteB\021ImCtsMessagePro" +
      "tob\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.akaxin.proto.core.CoreProto.getDescriptor(),
        }, assigner);
    internal_static_site_ImCtsMessageRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_site_ImCtsMessageRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_site_ImCtsMessageRequest_descriptor,
        new java.lang.String[] { "Type", "Text", "SecretText", "GroupText", "GroupSecretText", "Image", "SecretImage", "GroupImage", "GroupSecretImage", "Voice", "SecretVoice", "GroupVoice", "GroupSecretVoice", "U2Map", "U2SecretMap", "GroupMap", "GroupSecretMap", "U2MsgNotice", "GroupMsgNotice", "U2Recall", "GroupRecall", "U2Web", "GroupWeb", "U2WebNotice", "GroupWebNotice", });
    com.akaxin.proto.core.CoreProto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
