// Code generated by protoc-gen-go. DO NOT EDIT.
// source: sdk_ws/ws.proto

package open_im_sdk

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type GroupInfo struct {
	GroupID              string   `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"`
	GroupName            string   `protobuf:"bytes,2,opt,name=GroupName" json:"GroupName,omitempty"`
	Notification         string   `protobuf:"bytes,3,opt,name=Notification" json:"Notification,omitempty"`
	Introduction         string   `protobuf:"bytes,4,opt,name=Introduction" json:"Introduction,omitempty"`
	FaceUrl              string   `protobuf:"bytes,5,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
	OwnerUserID          string   `protobuf:"bytes,6,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"`
	CreateTime           int64    `protobuf:"varint,7,opt,name=CreateTime" json:"CreateTime,omitempty"`
	MemberCount          uint32   `protobuf:"varint,8,opt,name=MemberCount" json:"MemberCount,omitempty"`
	Ex                   string   `protobuf:"bytes,9,opt,name=Ex" json:"Ex,omitempty"`
	Status               int32    `protobuf:"varint,10,opt,name=Status" json:"Status,omitempty"`
	CreatorUserID        string   `protobuf:"bytes,11,opt,name=CreatorUserID" json:"CreatorUserID,omitempty"`
	GroupType            int32    `protobuf:"varint,12,opt,name=GroupType" json:"GroupType,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GroupInfo) Reset()         { *m = GroupInfo{} }
func (m *GroupInfo) String() string { return proto.CompactTextString(m) }
func (*GroupInfo) ProtoMessage()    {}
func (*GroupInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{0}
}
func (m *GroupInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupInfo.Unmarshal(m, b)
}
func (m *GroupInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupInfo.Marshal(b, m, deterministic)
}
func (dst *GroupInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupInfo.Merge(dst, src)
}
func (m *GroupInfo) XXX_Size() int {
	return xxx_messageInfo_GroupInfo.Size(m)
}
func (m *GroupInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupInfo.DiscardUnknown(m)
}

var xxx_messageInfo_GroupInfo proto.InternalMessageInfo

func (m *GroupInfo) GetGroupID() string {
	if m != nil {
		return m.GroupID
	}
	return ""
}

func (m *GroupInfo) GetGroupName() string {
	if m != nil {
		return m.GroupName
	}
	return ""
}

func (m *GroupInfo) GetNotification() string {
	if m != nil {
		return m.Notification
	}
	return ""
}

func (m *GroupInfo) GetIntroduction() string {
	if m != nil {
		return m.Introduction
	}
	return ""
}

func (m *GroupInfo) GetFaceUrl() string {
	if m != nil {
		return m.FaceUrl
	}
	return ""
}

func (m *GroupInfo) GetOwnerUserID() string {
	if m != nil {
		return m.OwnerUserID
	}
	return ""
}

func (m *GroupInfo) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

func (m *GroupInfo) GetMemberCount() uint32 {
	if m != nil {
		return m.MemberCount
	}
	return 0
}

func (m *GroupInfo) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

func (m *GroupInfo) GetStatus() int32 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *GroupInfo) GetCreatorUserID() string {
	if m != nil {
		return m.CreatorUserID
	}
	return ""
}

func (m *GroupInfo) GetGroupType() int32 {
	if m != nil {
		return m.GroupType
	}
	return 0
}

type GroupMemberFullInfo struct {
	GroupID              string   `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"`
	UserID               string   `protobuf:"bytes,2,opt,name=UserID" json:"UserID,omitempty"`
	RoleLevel            int32    `protobuf:"varint,3,opt,name=roleLevel" json:"roleLevel,omitempty"`
	JoinTime             int64    `protobuf:"varint,4,opt,name=JoinTime" json:"JoinTime,omitempty"`
	NickName             string   `protobuf:"bytes,5,opt,name=NickName" json:"NickName,omitempty"`
	FaceUrl              string   `protobuf:"bytes,6,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
	AppMangerLevel       int32    `protobuf:"varint,7,opt,name=AppMangerLevel" json:"AppMangerLevel,omitempty"`
	JoinSource           int32    `protobuf:"varint,8,opt,name=JoinSource" json:"JoinSource,omitempty"`
	OperatorUserID       string   `protobuf:"bytes,9,opt,name=OperatorUserID" json:"OperatorUserID,omitempty"`
	Ex                   string   `protobuf:"bytes,10,opt,name=Ex" json:"Ex,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GroupMemberFullInfo) Reset()         { *m = GroupMemberFullInfo{} }
func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) }
func (*GroupMemberFullInfo) ProtoMessage()    {}
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{1}
}
func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b)
}
func (m *GroupMemberFullInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupMemberFullInfo.Marshal(b, m, deterministic)
}
func (dst *GroupMemberFullInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupMemberFullInfo.Merge(dst, src)
}
func (m *GroupMemberFullInfo) XXX_Size() int {
	return xxx_messageInfo_GroupMemberFullInfo.Size(m)
}
func (m *GroupMemberFullInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupMemberFullInfo.DiscardUnknown(m)
}

var xxx_messageInfo_GroupMemberFullInfo proto.InternalMessageInfo

func (m *GroupMemberFullInfo) GetGroupID() string {
	if m != nil {
		return m.GroupID
	}
	return ""
}

func (m *GroupMemberFullInfo) GetUserID() string {
	if m != nil {
		return m.UserID
	}
	return ""
}

func (m *GroupMemberFullInfo) GetRoleLevel() int32 {
	if m != nil {
		return m.RoleLevel
	}
	return 0
}

func (m *GroupMemberFullInfo) GetJoinTime() int64 {
	if m != nil {
		return m.JoinTime
	}
	return 0
}

func (m *GroupMemberFullInfo) GetNickName() string {
	if m != nil {
		return m.NickName
	}
	return ""
}

func (m *GroupMemberFullInfo) GetFaceUrl() string {
	if m != nil {
		return m.FaceUrl
	}
	return ""
}

func (m *GroupMemberFullInfo) GetAppMangerLevel() int32 {
	if m != nil {
		return m.AppMangerLevel
	}
	return 0
}

func (m *GroupMemberFullInfo) GetJoinSource() int32 {
	if m != nil {
		return m.JoinSource
	}
	return 0
}

func (m *GroupMemberFullInfo) GetOperatorUserID() string {
	if m != nil {
		return m.OperatorUserID
	}
	return ""
}

func (m *GroupMemberFullInfo) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

type PublicUserInfo struct {
	UserID               string   `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
	Nickname             string   `protobuf:"bytes,2,opt,name=Nickname" json:"Nickname,omitempty"`
	FaceUrl              string   `protobuf:"bytes,3,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
	Gender               int32    `protobuf:"varint,4,opt,name=Gender" json:"Gender,omitempty"`
	AppMangerLevel       int32    `protobuf:"varint,5,opt,name=AppMangerLevel" json:"AppMangerLevel,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PublicUserInfo) Reset()         { *m = PublicUserInfo{} }
func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) }
func (*PublicUserInfo) ProtoMessage()    {}
func (*PublicUserInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{2}
}
func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b)
}
func (m *PublicUserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PublicUserInfo.Marshal(b, m, deterministic)
}
func (dst *PublicUserInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PublicUserInfo.Merge(dst, src)
}
func (m *PublicUserInfo) XXX_Size() int {
	return xxx_messageInfo_PublicUserInfo.Size(m)
}
func (m *PublicUserInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_PublicUserInfo.DiscardUnknown(m)
}

var xxx_messageInfo_PublicUserInfo proto.InternalMessageInfo

func (m *PublicUserInfo) GetUserID() string {
	if m != nil {
		return m.UserID
	}
	return ""
}

func (m *PublicUserInfo) GetNickname() string {
	if m != nil {
		return m.Nickname
	}
	return ""
}

func (m *PublicUserInfo) GetFaceUrl() string {
	if m != nil {
		return m.FaceUrl
	}
	return ""
}

func (m *PublicUserInfo) GetGender() int32 {
	if m != nil {
		return m.Gender
	}
	return 0
}

func (m *PublicUserInfo) GetAppMangerLevel() int32 {
	if m != nil {
		return m.AppMangerLevel
	}
	return 0
}

type UserInfo struct {
	UserID               string   `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
	Nickname             string   `protobuf:"bytes,2,opt,name=Nickname" json:"Nickname,omitempty"`
	FaceUrl              string   `protobuf:"bytes,3,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
	Gender               int32    `protobuf:"varint,4,opt,name=Gender" json:"Gender,omitempty"`
	PhoneNumber          string   `protobuf:"bytes,5,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"`
	Birth                int64    `protobuf:"varint,6,opt,name=Birth" json:"Birth,omitempty"`
	Email                string   `protobuf:"bytes,7,opt,name=Email" json:"Email,omitempty"`
	Ex                   string   `protobuf:"bytes,8,opt,name=Ex" json:"Ex,omitempty"`
	CreateTime           int64    `protobuf:"varint,9,opt,name=CreateTime" json:"CreateTime,omitempty"`
	AppMangerLevel       int32    `protobuf:"varint,10,opt,name=AppMangerLevel" json:"AppMangerLevel,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserInfo) Reset()         { *m = UserInfo{} }
func (m *UserInfo) String() string { return proto.CompactTextString(m) }
func (*UserInfo) ProtoMessage()    {}
func (*UserInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{3}
}
func (m *UserInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserInfo.Unmarshal(m, b)
}
func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic)
}
func (dst *UserInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserInfo.Merge(dst, src)
}
func (m *UserInfo) XXX_Size() int {
	return xxx_messageInfo_UserInfo.Size(m)
}
func (m *UserInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_UserInfo.DiscardUnknown(m)
}

var xxx_messageInfo_UserInfo proto.InternalMessageInfo

func (m *UserInfo) GetUserID() string {
	if m != nil {
		return m.UserID
	}
	return ""
}

func (m *UserInfo) GetNickname() string {
	if m != nil {
		return m.Nickname
	}
	return ""
}

func (m *UserInfo) GetFaceUrl() string {
	if m != nil {
		return m.FaceUrl
	}
	return ""
}

func (m *UserInfo) GetGender() int32 {
	if m != nil {
		return m.Gender
	}
	return 0
}

func (m *UserInfo) GetPhoneNumber() string {
	if m != nil {
		return m.PhoneNumber
	}
	return ""
}

func (m *UserInfo) GetBirth() int64 {
	if m != nil {
		return m.Birth
	}
	return 0
}

func (m *UserInfo) GetEmail() string {
	if m != nil {
		return m.Email
	}
	return ""
}

func (m *UserInfo) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

func (m *UserInfo) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

func (m *UserInfo) GetAppMangerLevel() int32 {
	if m != nil {
		return m.AppMangerLevel
	}
	return 0
}

type FriendInfo struct {
	OwnerUserID          string    `protobuf:"bytes,1,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"`
	Remark               string    `protobuf:"bytes,2,opt,name=Remark" json:"Remark,omitempty"`
	CreateTime           int64     `protobuf:"varint,3,opt,name=CreateTime" json:"CreateTime,omitempty"`
	FriendUser           *UserInfo `protobuf:"bytes,4,opt,name=FriendUser" json:"FriendUser,omitempty"`
	AddSource            int32     `protobuf:"varint,5,opt,name=AddSource" json:"AddSource,omitempty"`
	OperatorUserID       string    `protobuf:"bytes,6,opt,name=OperatorUserID" json:"OperatorUserID,omitempty"`
	Ex                   string    `protobuf:"bytes,7,opt,name=Ex" json:"Ex,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *FriendInfo) Reset()         { *m = FriendInfo{} }
func (m *FriendInfo) String() string { return proto.CompactTextString(m) }
func (*FriendInfo) ProtoMessage()    {}
func (*FriendInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{4}
}
func (m *FriendInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendInfo.Unmarshal(m, b)
}
func (m *FriendInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendInfo.Marshal(b, m, deterministic)
}
func (dst *FriendInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendInfo.Merge(dst, src)
}
func (m *FriendInfo) XXX_Size() int {
	return xxx_messageInfo_FriendInfo.Size(m)
}
func (m *FriendInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendInfo.DiscardUnknown(m)
}

var xxx_messageInfo_FriendInfo proto.InternalMessageInfo

func (m *FriendInfo) GetOwnerUserID() string {
	if m != nil {
		return m.OwnerUserID
	}
	return ""
}

func (m *FriendInfo) GetRemark() string {
	if m != nil {
		return m.Remark
	}
	return ""
}

func (m *FriendInfo) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

func (m *FriendInfo) GetFriendUser() *UserInfo {
	if m != nil {
		return m.FriendUser
	}
	return nil
}

func (m *FriendInfo) GetAddSource() int32 {
	if m != nil {
		return m.AddSource
	}
	return 0
}

func (m *FriendInfo) GetOperatorUserID() string {
	if m != nil {
		return m.OperatorUserID
	}
	return ""
}

func (m *FriendInfo) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

type BlackInfo struct {
	OwnerUserID          string          `protobuf:"bytes,1,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"`
	CreateTime           int64           `protobuf:"varint,2,opt,name=CreateTime" json:"CreateTime,omitempty"`
	BlackUserInfo        *PublicUserInfo `protobuf:"bytes,3,opt,name=BlackUserInfo" json:"BlackUserInfo,omitempty"`
	AddSource            int32           `protobuf:"varint,4,opt,name=AddSource" json:"AddSource,omitempty"`
	OperatorUserID       string          `protobuf:"bytes,5,opt,name=OperatorUserID" json:"OperatorUserID,omitempty"`
	Ex                   string          `protobuf:"bytes,6,opt,name=Ex" json:"Ex,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *BlackInfo) Reset()         { *m = BlackInfo{} }
func (m *BlackInfo) String() string { return proto.CompactTextString(m) }
func (*BlackInfo) ProtoMessage()    {}
func (*BlackInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{5}
}
func (m *BlackInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlackInfo.Unmarshal(m, b)
}
func (m *BlackInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlackInfo.Marshal(b, m, deterministic)
}
func (dst *BlackInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlackInfo.Merge(dst, src)
}
func (m *BlackInfo) XXX_Size() int {
	return xxx_messageInfo_BlackInfo.Size(m)
}
func (m *BlackInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_BlackInfo.DiscardUnknown(m)
}

var xxx_messageInfo_BlackInfo proto.InternalMessageInfo

func (m *BlackInfo) GetOwnerUserID() string {
	if m != nil {
		return m.OwnerUserID
	}
	return ""
}

func (m *BlackInfo) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

func (m *BlackInfo) GetBlackUserInfo() *PublicUserInfo {
	if m != nil {
		return m.BlackUserInfo
	}
	return nil
}

func (m *BlackInfo) GetAddSource() int32 {
	if m != nil {
		return m.AddSource
	}
	return 0
}

func (m *BlackInfo) GetOperatorUserID() string {
	if m != nil {
		return m.OperatorUserID
	}
	return ""
}

func (m *BlackInfo) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

type GroupRequest struct {
	UserID               string   `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
	GroupID              string   `protobuf:"bytes,2,opt,name=GroupID" json:"GroupID,omitempty"`
	HandleResult         string   `protobuf:"bytes,3,opt,name=HandleResult" json:"HandleResult,omitempty"`
	ReqMsg               string   `protobuf:"bytes,4,opt,name=ReqMsg" json:"ReqMsg,omitempty"`
	HandleMsg            string   `protobuf:"bytes,5,opt,name=HandleMsg" json:"HandleMsg,omitempty"`
	ReqTime              int64    `protobuf:"varint,6,opt,name=ReqTime" json:"ReqTime,omitempty"`
	HandleUserID         string   `protobuf:"bytes,7,opt,name=HandleUserID" json:"HandleUserID,omitempty"`
	HandleTime           int64    `protobuf:"varint,8,opt,name=HandleTime" json:"HandleTime,omitempty"`
	Ex                   string   `protobuf:"bytes,9,opt,name=Ex" json:"Ex,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GroupRequest) Reset()         { *m = GroupRequest{} }
func (m *GroupRequest) String() string { return proto.CompactTextString(m) }
func (*GroupRequest) ProtoMessage()    {}
func (*GroupRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{6}
}
func (m *GroupRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupRequest.Unmarshal(m, b)
}
func (m *GroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupRequest.Marshal(b, m, deterministic)
}
func (dst *GroupRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupRequest.Merge(dst, src)
}
func (m *GroupRequest) XXX_Size() int {
	return xxx_messageInfo_GroupRequest.Size(m)
}
func (m *GroupRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GroupRequest proto.InternalMessageInfo

func (m *GroupRequest) GetUserID() string {
	if m != nil {
		return m.UserID
	}
	return ""
}

func (m *GroupRequest) GetGroupID() string {
	if m != nil {
		return m.GroupID
	}
	return ""
}

func (m *GroupRequest) GetHandleResult() string {
	if m != nil {
		return m.HandleResult
	}
	return ""
}

func (m *GroupRequest) GetReqMsg() string {
	if m != nil {
		return m.ReqMsg
	}
	return ""
}

func (m *GroupRequest) GetHandleMsg() string {
	if m != nil {
		return m.HandleMsg
	}
	return ""
}

func (m *GroupRequest) GetReqTime() int64 {
	if m != nil {
		return m.ReqTime
	}
	return 0
}

func (m *GroupRequest) GetHandleUserID() string {
	if m != nil {
		return m.HandleUserID
	}
	return ""
}

func (m *GroupRequest) GetHandleTime() int64 {
	if m != nil {
		return m.HandleTime
	}
	return 0
}

func (m *GroupRequest) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

type FriendRequest struct {
	FromUserID           string   `protobuf:"bytes,1,opt,name=FromUserID" json:"FromUserID,omitempty"`
	ToUserID             string   `protobuf:"bytes,2,opt,name=ToUserID" json:"ToUserID,omitempty"`
	HandleResult         int32    `protobuf:"varint,3,opt,name=HandleResult" json:"HandleResult,omitempty"`
	ReqMsg               string   `protobuf:"bytes,4,opt,name=ReqMsg" json:"ReqMsg,omitempty"`
	CreateTime           int64    `protobuf:"varint,5,opt,name=CreateTime" json:"CreateTime,omitempty"`
	HandlerUserID        string   `protobuf:"bytes,6,opt,name=HandlerUserID" json:"HandlerUserID,omitempty"`
	HandleMsg            string   `protobuf:"bytes,7,opt,name=HandleMsg" json:"HandleMsg,omitempty"`
	HandleTime           int64    `protobuf:"varint,8,opt,name=HandleTime" json:"HandleTime,omitempty"`
	Ex                   string   `protobuf:"bytes,9,opt,name=Ex" json:"Ex,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FriendRequest) Reset()         { *m = FriendRequest{} }
func (m *FriendRequest) String() string { return proto.CompactTextString(m) }
func (*FriendRequest) ProtoMessage()    {}
func (*FriendRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{7}
}
func (m *FriendRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendRequest.Unmarshal(m, b)
}
func (m *FriendRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendRequest.Marshal(b, m, deterministic)
}
func (dst *FriendRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendRequest.Merge(dst, src)
}
func (m *FriendRequest) XXX_Size() int {
	return xxx_messageInfo_FriendRequest.Size(m)
}
func (m *FriendRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendRequest.DiscardUnknown(m)
}

var xxx_messageInfo_FriendRequest proto.InternalMessageInfo

func (m *FriendRequest) GetFromUserID() string {
	if m != nil {
		return m.FromUserID
	}
	return ""
}

func (m *FriendRequest) GetToUserID() string {
	if m != nil {
		return m.ToUserID
	}
	return ""
}

func (m *FriendRequest) GetHandleResult() int32 {
	if m != nil {
		return m.HandleResult
	}
	return 0
}

func (m *FriendRequest) GetReqMsg() string {
	if m != nil {
		return m.ReqMsg
	}
	return ""
}

func (m *FriendRequest) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

func (m *FriendRequest) GetHandlerUserID() string {
	if m != nil {
		return m.HandlerUserID
	}
	return ""
}

func (m *FriendRequest) GetHandleMsg() string {
	if m != nil {
		return m.HandleMsg
	}
	return ""
}

func (m *FriendRequest) GetHandleTime() int64 {
	if m != nil {
		return m.HandleTime
	}
	return 0
}

func (m *FriendRequest) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

type PullMessageBySeqListResp struct {
	ErrCode              int32           `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"`
	ErrMsg               string          `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
	MaxSeq               int64           `protobuf:"varint,3,opt,name=maxSeq" json:"maxSeq,omitempty"`
	MinSeq               int64           `protobuf:"varint,4,opt,name=minSeq" json:"minSeq,omitempty"`
	SingleUserMsg        []*GatherFormat `protobuf:"bytes,5,rep,name=singleUserMsg" json:"singleUserMsg,omitempty"`
	GroupUserMsg         []*GatherFormat `protobuf:"bytes,6,rep,name=groupUserMsg" json:"groupUserMsg,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *PullMessageBySeqListResp) Reset()         { *m = PullMessageBySeqListResp{} }
func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListResp) ProtoMessage()    {}
func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{8}
}
func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b)
}
func (m *PullMessageBySeqListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PullMessageBySeqListResp.Marshal(b, m, deterministic)
}
func (dst *PullMessageBySeqListResp) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PullMessageBySeqListResp.Merge(dst, src)
}
func (m *PullMessageBySeqListResp) XXX_Size() int {
	return xxx_messageInfo_PullMessageBySeqListResp.Size(m)
}
func (m *PullMessageBySeqListResp) XXX_DiscardUnknown() {
	xxx_messageInfo_PullMessageBySeqListResp.DiscardUnknown(m)
}

var xxx_messageInfo_PullMessageBySeqListResp proto.InternalMessageInfo

func (m *PullMessageBySeqListResp) GetErrCode() int32 {
	if m != nil {
		return m.ErrCode
	}
	return 0
}

func (m *PullMessageBySeqListResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullMessageBySeqListResp) GetMaxSeq() int64 {
	if m != nil {
		return m.MaxSeq
	}
	return 0
}

func (m *PullMessageBySeqListResp) GetMinSeq() int64 {
	if m != nil {
		return m.MinSeq
	}
	return 0
}

func (m *PullMessageBySeqListResp) GetSingleUserMsg() []*GatherFormat {
	if m != nil {
		return m.SingleUserMsg
	}
	return nil
}

func (m *PullMessageBySeqListResp) GetGroupUserMsg() []*GatherFormat {
	if m != nil {
		return m.GroupUserMsg
	}
	return nil
}

type PullMessageBySeqListReq struct {
	UserID               string   `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
	OperationID          string   `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
	SeqList              []int64  `protobuf:"varint,3,rep,packed,name=seqList" json:"seqList,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PullMessageBySeqListReq) Reset()         { *m = PullMessageBySeqListReq{} }
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage()    {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{9}
}
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
}
func (m *PullMessageBySeqListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PullMessageBySeqListReq.Marshal(b, m, deterministic)
}
func (dst *PullMessageBySeqListReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PullMessageBySeqListReq.Merge(dst, src)
}
func (m *PullMessageBySeqListReq) XXX_Size() int {
	return xxx_messageInfo_PullMessageBySeqListReq.Size(m)
}
func (m *PullMessageBySeqListReq) XXX_DiscardUnknown() {
	xxx_messageInfo_PullMessageBySeqListReq.DiscardUnknown(m)
}

var xxx_messageInfo_PullMessageBySeqListReq proto.InternalMessageInfo

func (m *PullMessageBySeqListReq) GetUserID() string {
	if m != nil {
		return m.UserID
	}
	return ""
}

func (m *PullMessageBySeqListReq) GetOperationID() string {
	if m != nil {
		return m.OperationID
	}
	return ""
}

func (m *PullMessageBySeqListReq) GetSeqList() []int64 {
	if m != nil {
		return m.SeqList
	}
	return nil
}

type PullMessageReq struct {
	UserID               string   `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
	SeqBegin             int64    `protobuf:"varint,2,opt,name=seqBegin" json:"seqBegin,omitempty"`
	SeqEnd               int64    `protobuf:"varint,3,opt,name=seqEnd" json:"seqEnd,omitempty"`
	OperationID          string   `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PullMessageReq) Reset()         { *m = PullMessageReq{} }
func (m *PullMessageReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageReq) ProtoMessage()    {}
func (*PullMessageReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{10}
}
func (m *PullMessageReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PullMessageReq.Unmarshal(m, b)
}
func (m *PullMessageReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PullMessageReq.Marshal(b, m, deterministic)
}
func (dst *PullMessageReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PullMessageReq.Merge(dst, src)
}
func (m *PullMessageReq) XXX_Size() int {
	return xxx_messageInfo_PullMessageReq.Size(m)
}
func (m *PullMessageReq) XXX_DiscardUnknown() {
	xxx_messageInfo_PullMessageReq.DiscardUnknown(m)
}

var xxx_messageInfo_PullMessageReq proto.InternalMessageInfo

func (m *PullMessageReq) GetUserID() string {
	if m != nil {
		return m.UserID
	}
	return ""
}

func (m *PullMessageReq) GetSeqBegin() int64 {
	if m != nil {
		return m.SeqBegin
	}
	return 0
}

func (m *PullMessageReq) GetSeqEnd() int64 {
	if m != nil {
		return m.SeqEnd
	}
	return 0
}

func (m *PullMessageReq) GetOperationID() string {
	if m != nil {
		return m.OperationID
	}
	return ""
}

type PullMessageResp struct {
	ErrCode              int32           `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"`
	ErrMsg               string          `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
	MaxSeq               int64           `protobuf:"varint,3,opt,name=maxSeq" json:"maxSeq,omitempty"`
	MinSeq               int64           `protobuf:"varint,4,opt,name=minSeq" json:"minSeq,omitempty"`
	SingleUserMsg        []*GatherFormat `protobuf:"bytes,5,rep,name=singleUserMsg" json:"singleUserMsg,omitempty"`
	GroupUserMsg         []*GatherFormat `protobuf:"bytes,6,rep,name=groupUserMsg" json:"groupUserMsg,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *PullMessageResp) Reset()         { *m = PullMessageResp{} }
func (m *PullMessageResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageResp) ProtoMessage()    {}
func (*PullMessageResp) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{11}
}
func (m *PullMessageResp) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PullMessageResp.Unmarshal(m, b)
}
func (m *PullMessageResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PullMessageResp.Marshal(b, m, deterministic)
}
func (dst *PullMessageResp) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PullMessageResp.Merge(dst, src)
}
func (m *PullMessageResp) XXX_Size() int {
	return xxx_messageInfo_PullMessageResp.Size(m)
}
func (m *PullMessageResp) XXX_DiscardUnknown() {
	xxx_messageInfo_PullMessageResp.DiscardUnknown(m)
}

var xxx_messageInfo_PullMessageResp proto.InternalMessageInfo

func (m *PullMessageResp) GetErrCode() int32 {
	if m != nil {
		return m.ErrCode
	}
	return 0
}

func (m *PullMessageResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullMessageResp) GetMaxSeq() int64 {
	if m != nil {
		return m.MaxSeq
	}
	return 0
}

func (m *PullMessageResp) GetMinSeq() int64 {
	if m != nil {
		return m.MinSeq
	}
	return 0
}

func (m *PullMessageResp) GetSingleUserMsg() []*GatherFormat {
	if m != nil {
		return m.SingleUserMsg
	}
	return nil
}

func (m *PullMessageResp) GetGroupUserMsg() []*GatherFormat {
	if m != nil {
		return m.GroupUserMsg
	}
	return nil
}

type GetMaxAndMinSeqReq struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetMaxAndMinSeqReq) Reset()         { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage()    {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{12}
}
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
}
func (m *GetMaxAndMinSeqReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMaxAndMinSeqReq.Marshal(b, m, deterministic)
}
func (dst *GetMaxAndMinSeqReq) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMaxAndMinSeqReq.Merge(dst, src)
}
func (m *GetMaxAndMinSeqReq) XXX_Size() int {
	return xxx_messageInfo_GetMaxAndMinSeqReq.Size(m)
}
func (m *GetMaxAndMinSeqReq) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMaxAndMinSeqReq.DiscardUnknown(m)
}

var xxx_messageInfo_GetMaxAndMinSeqReq proto.InternalMessageInfo

type GetMaxAndMinSeqResp struct {
	MaxSeq               int64    `protobuf:"varint,1,opt,name=maxSeq" json:"maxSeq,omitempty"`
	MinSeq               int64    `protobuf:"varint,2,opt,name=minSeq" json:"minSeq,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetMaxAndMinSeqResp) Reset()         { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage()    {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{13}
}
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
}
func (m *GetMaxAndMinSeqResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetMaxAndMinSeqResp.Marshal(b, m, deterministic)
}
func (dst *GetMaxAndMinSeqResp) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetMaxAndMinSeqResp.Merge(dst, src)
}
func (m *GetMaxAndMinSeqResp) XXX_Size() int {
	return xxx_messageInfo_GetMaxAndMinSeqResp.Size(m)
}
func (m *GetMaxAndMinSeqResp) XXX_DiscardUnknown() {
	xxx_messageInfo_GetMaxAndMinSeqResp.DiscardUnknown(m)
}

var xxx_messageInfo_GetMaxAndMinSeqResp proto.InternalMessageInfo

func (m *GetMaxAndMinSeqResp) GetMaxSeq() int64 {
	if m != nil {
		return m.MaxSeq
	}
	return 0
}

func (m *GetMaxAndMinSeqResp) GetMinSeq() int64 {
	if m != nil {
		return m.MinSeq
	}
	return 0
}

type GatherFormat struct {
	// @inject_tag: json:"id"
	Id string `protobuf:"bytes,1,opt,name=id" json:"id"`
	// @inject_tag: json:"list"
	List                 []*MsgData `protobuf:"bytes,2,rep,name=list" json:"list"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *GatherFormat) Reset()         { *m = GatherFormat{} }
func (m *GatherFormat) String() string { return proto.CompactTextString(m) }
func (*GatherFormat) ProtoMessage()    {}
func (*GatherFormat) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{14}
}
func (m *GatherFormat) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GatherFormat.Unmarshal(m, b)
}
func (m *GatherFormat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GatherFormat.Marshal(b, m, deterministic)
}
func (dst *GatherFormat) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GatherFormat.Merge(dst, src)
}
func (m *GatherFormat) XXX_Size() int {
	return xxx_messageInfo_GatherFormat.Size(m)
}
func (m *GatherFormat) XXX_DiscardUnknown() {
	xxx_messageInfo_GatherFormat.DiscardUnknown(m)
}

var xxx_messageInfo_GatherFormat proto.InternalMessageInfo

func (m *GatherFormat) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *GatherFormat) GetList() []*MsgData {
	if m != nil {
		return m.List
	}
	return nil
}

type UserSendMsgResp struct {
	ServerMsgID          string   `protobuf:"bytes,1,opt,name=ServerMsgID" json:"ServerMsgID,omitempty"`
	ClientMsgID          string   `protobuf:"bytes,2,opt,name=ClientMsgID" json:"ClientMsgID,omitempty"`
	SendTime             int64    `protobuf:"varint,3,opt,name=sendTime" json:"sendTime,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserSendMsgResp) Reset()         { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage()    {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{15}
}
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
}
func (m *UserSendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserSendMsgResp.Marshal(b, m, deterministic)
}
func (dst *UserSendMsgResp) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserSendMsgResp.Merge(dst, src)
}
func (m *UserSendMsgResp) XXX_Size() int {
	return xxx_messageInfo_UserSendMsgResp.Size(m)
}
func (m *UserSendMsgResp) XXX_DiscardUnknown() {
	xxx_messageInfo_UserSendMsgResp.DiscardUnknown(m)
}

var xxx_messageInfo_UserSendMsgResp proto.InternalMessageInfo

func (m *UserSendMsgResp) GetServerMsgID() string {
	if m != nil {
		return m.ServerMsgID
	}
	return ""
}

func (m *UserSendMsgResp) GetClientMsgID() string {
	if m != nil {
		return m.ClientMsgID
	}
	return ""
}

func (m *UserSendMsgResp) GetSendTime() int64 {
	if m != nil {
		return m.SendTime
	}
	return 0
}

type MsgData struct {
	SendID               string           `protobuf:"bytes,1,opt,name=sendID" json:"sendID,omitempty"`
	RecvID               string           `protobuf:"bytes,2,opt,name=recvID" json:"recvID,omitempty"`
	GroupID              string           `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"`
	ClientMsgID          string           `protobuf:"bytes,4,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
	ServerMsgID          string           `protobuf:"bytes,5,opt,name=serverMsgID" json:"serverMsgID,omitempty"`
	SenderPlatformID     int32            `protobuf:"varint,6,opt,name=senderPlatformID" json:"senderPlatformID,omitempty"`
	SenderNickname       string           `protobuf:"bytes,7,opt,name=senderNickname" json:"senderNickname,omitempty"`
	SenderFaceURL        string           `protobuf:"bytes,8,opt,name=senderFaceURL" json:"senderFaceURL,omitempty"`
	SessionType          int32            `protobuf:"varint,9,opt,name=sessionType" json:"sessionType,omitempty"`
	MsgFrom              int32            `protobuf:"varint,10,opt,name=msgFrom" json:"msgFrom,omitempty"`
	ContentType          int32            `protobuf:"varint,11,opt,name=contentType" json:"contentType,omitempty"`
	Content              []byte           `protobuf:"bytes,12,opt,name=content,proto3" json:"content,omitempty"`
	ForceList            []string         `protobuf:"bytes,13,rep,name=forceList" json:"forceList,omitempty"`
	Seq                  int64            `protobuf:"varint,14,opt,name=seq" json:"seq,omitempty"`
	SendTime             int64            `protobuf:"varint,15,opt,name=sendTime" json:"sendTime,omitempty"`
	CreateTime           int64            `protobuf:"varint,16,opt,name=createTime" json:"createTime,omitempty"`
	Options              map[string]bool  `protobuf:"bytes,17,rep,name=Options" json:"Options,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	OfflinePushInfo      *OfflinePushInfo `protobuf:"bytes,18,opt,name=offlinePushInfo" json:"offlinePushInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *MsgData) Reset()         { *m = MsgData{} }
func (m *MsgData) String() string { return proto.CompactTextString(m) }
func (*MsgData) ProtoMessage()    {}
func (*MsgData) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{16}
}
func (m *MsgData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MsgData.Unmarshal(m, b)
}
func (m *MsgData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MsgData.Marshal(b, m, deterministic)
}
func (dst *MsgData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgData.Merge(dst, src)
}
func (m *MsgData) XXX_Size() int {
	return xxx_messageInfo_MsgData.Size(m)
}
func (m *MsgData) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgData.DiscardUnknown(m)
}

var xxx_messageInfo_MsgData proto.InternalMessageInfo

func (m *MsgData) GetSendID() string {
	if m != nil {
		return m.SendID
	}
	return ""
}

func (m *MsgData) GetRecvID() string {
	if m != nil {
		return m.RecvID
	}
	return ""
}

func (m *MsgData) GetGroupID() string {
	if m != nil {
		return m.GroupID
	}
	return ""
}

func (m *MsgData) GetClientMsgID() string {
	if m != nil {
		return m.ClientMsgID
	}
	return ""
}

func (m *MsgData) GetServerMsgID() string {
	if m != nil {
		return m.ServerMsgID
	}
	return ""
}

func (m *MsgData) GetSenderPlatformID() int32 {
	if m != nil {
		return m.SenderPlatformID
	}
	return 0
}

func (m *MsgData) GetSenderNickname() string {
	if m != nil {
		return m.SenderNickname
	}
	return ""
}

func (m *MsgData) GetSenderFaceURL() string {
	if m != nil {
		return m.SenderFaceURL
	}
	return ""
}

func (m *MsgData) GetSessionType() int32 {
	if m != nil {
		return m.SessionType
	}
	return 0
}

func (m *MsgData) GetMsgFrom() int32 {
	if m != nil {
		return m.MsgFrom
	}
	return 0
}

func (m *MsgData) GetContentType() int32 {
	if m != nil {
		return m.ContentType
	}
	return 0
}

func (m *MsgData) GetContent() []byte {
	if m != nil {
		return m.Content
	}
	return nil
}

func (m *MsgData) GetForceList() []string {
	if m != nil {
		return m.ForceList
	}
	return nil
}

func (m *MsgData) GetSeq() int64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *MsgData) GetSendTime() int64 {
	if m != nil {
		return m.SendTime
	}
	return 0
}

func (m *MsgData) GetCreateTime() int64 {
	if m != nil {
		return m.CreateTime
	}
	return 0
}

func (m *MsgData) GetOptions() map[string]bool {
	if m != nil {
		return m.Options
	}
	return nil
}

func (m *MsgData) GetOfflinePushInfo() *OfflinePushInfo {
	if m != nil {
		return m.OfflinePushInfo
	}
	return nil
}

type OfflinePushInfo struct {
	Title                string   `protobuf:"bytes,1,opt,name=Title" json:"Title,omitempty"`
	Desc                 string   `protobuf:"bytes,2,opt,name=Desc" json:"Desc,omitempty"`
	Ex                   string   `protobuf:"bytes,3,opt,name=Ex" json:"Ex,omitempty"`
	IOSPushSound         string   `protobuf:"bytes,4,opt,name=iOSPushSound" json:"iOSPushSound,omitempty"`
	IOSBadgeCount        bool     `protobuf:"varint,5,opt,name=iOSBadgeCount" json:"iOSBadgeCount,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *OfflinePushInfo) Reset()         { *m = OfflinePushInfo{} }
func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) }
func (*OfflinePushInfo) ProtoMessage()    {}
func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{17}
}
func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b)
}
func (m *OfflinePushInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OfflinePushInfo.Marshal(b, m, deterministic)
}
func (dst *OfflinePushInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OfflinePushInfo.Merge(dst, src)
}
func (m *OfflinePushInfo) XXX_Size() int {
	return xxx_messageInfo_OfflinePushInfo.Size(m)
}
func (m *OfflinePushInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_OfflinePushInfo.DiscardUnknown(m)
}

var xxx_messageInfo_OfflinePushInfo proto.InternalMessageInfo

func (m *OfflinePushInfo) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *OfflinePushInfo) GetDesc() string {
	if m != nil {
		return m.Desc
	}
	return ""
}

func (m *OfflinePushInfo) GetEx() string {
	if m != nil {
		return m.Ex
	}
	return ""
}

func (m *OfflinePushInfo) GetIOSPushSound() string {
	if m != nil {
		return m.IOSPushSound
	}
	return ""
}

func (m *OfflinePushInfo) GetIOSBadgeCount() bool {
	if m != nil {
		return m.IOSBadgeCount
	}
	return false
}

type TipsComm struct {
	Detail               []byte   `protobuf:"bytes,1,opt,name=Detail,proto3" json:"Detail,omitempty"`
	DefaultTips          string   `protobuf:"bytes,2,opt,name=DefaultTips" json:"DefaultTips,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TipsComm) Reset()         { *m = TipsComm{} }
func (m *TipsComm) String() string { return proto.CompactTextString(m) }
func (*TipsComm) ProtoMessage()    {}
func (*TipsComm) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{18}
}
func (m *TipsComm) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TipsComm.Unmarshal(m, b)
}
func (m *TipsComm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TipsComm.Marshal(b, m, deterministic)
}
func (dst *TipsComm) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TipsComm.Merge(dst, src)
}
func (m *TipsComm) XXX_Size() int {
	return xxx_messageInfo_TipsComm.Size(m)
}
func (m *TipsComm) XXX_DiscardUnknown() {
	xxx_messageInfo_TipsComm.DiscardUnknown(m)
}

var xxx_messageInfo_TipsComm proto.InternalMessageInfo

func (m *TipsComm) GetDetail() []byte {
	if m != nil {
		return m.Detail
	}
	return nil
}

func (m *TipsComm) GetDefaultTips() string {
	if m != nil {
		return m.DefaultTips
	}
	return ""
}

// ////////////////////group/////////////////////
// Actively join the group
type MemberEnterTips struct {
	Group                *GroupInfo           `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
	EntrantUser          *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=EntrantUser" json:"EntrantUser,omitempty"`
	OperationTime        int64                `protobuf:"varint,3,opt,name=OperationTime" json:"OperationTime,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *MemberEnterTips) Reset()         { *m = MemberEnterTips{} }
func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) }
func (*MemberEnterTips) ProtoMessage()    {}
func (*MemberEnterTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{19}
}
func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b)
}
func (m *MemberEnterTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberEnterTips.Marshal(b, m, deterministic)
}
func (dst *MemberEnterTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberEnterTips.Merge(dst, src)
}
func (m *MemberEnterTips) XXX_Size() int {
	return xxx_messageInfo_MemberEnterTips.Size(m)
}
func (m *MemberEnterTips) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberEnterTips.DiscardUnknown(m)
}

var xxx_messageInfo_MemberEnterTips proto.InternalMessageInfo

func (m *MemberEnterTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *MemberEnterTips) GetEntrantUser() *GroupMemberFullInfo {
	if m != nil {
		return m.EntrantUser
	}
	return nil
}

func (m *MemberEnterTips) GetOperationTime() int64 {
	if m != nil {
		return m.OperationTime
	}
	return 0
}

// Actively leave the group
type MemberLeaveTips struct {
	Group                *GroupInfo           `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
	LeaverUser           *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=LeaverUser" json:"LeaverUser,omitempty"`
	OperationTime        int64                `protobuf:"varint,3,opt,name=OperationTime" json:"OperationTime,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *MemberLeaveTips) Reset()         { *m = MemberLeaveTips{} }
func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) }
func (*MemberLeaveTips) ProtoMessage()    {}
func (*MemberLeaveTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{20}
}
func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b)
}
func (m *MemberLeaveTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberLeaveTips.Marshal(b, m, deterministic)
}
func (dst *MemberLeaveTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberLeaveTips.Merge(dst, src)
}
func (m *MemberLeaveTips) XXX_Size() int {
	return xxx_messageInfo_MemberLeaveTips.Size(m)
}
func (m *MemberLeaveTips) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberLeaveTips.DiscardUnknown(m)
}

var xxx_messageInfo_MemberLeaveTips proto.InternalMessageInfo

func (m *MemberLeaveTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *MemberLeaveTips) GetLeaverUser() *GroupMemberFullInfo {
	if m != nil {
		return m.LeaverUser
	}
	return nil
}

func (m *MemberLeaveTips) GetOperationTime() int64 {
	if m != nil {
		return m.OperationTime
	}
	return 0
}

type MemberInvitedTips struct {
	Group                *GroupInfo             `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
	OpUser               *GroupMemberFullInfo   `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
	InvitedUserList      []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=InvitedUserList" json:"InvitedUserList,omitempty"`
	OperationTime        int64                  `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *MemberInvitedTips) Reset()         { *m = MemberInvitedTips{} }
func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInvitedTips) ProtoMessage()    {}
func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{21}
}
func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b)
}
func (m *MemberInvitedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberInvitedTips.Marshal(b, m, deterministic)
}
func (dst *MemberInvitedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberInvitedTips.Merge(dst, src)
}
func (m *MemberInvitedTips) XXX_Size() int {
	return xxx_messageInfo_MemberInvitedTips.Size(m)
}
func (m *MemberInvitedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberInvitedTips.DiscardUnknown(m)
}

var xxx_messageInfo_MemberInvitedTips proto.InternalMessageInfo

func (m *MemberInvitedTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *MemberInvitedTips) GetOpUser() *GroupMemberFullInfo {
	if m != nil {
		return m.OpUser
	}
	return nil
}

func (m *MemberInvitedTips) GetInvitedUserList() []*GroupMemberFullInfo {
	if m != nil {
		return m.InvitedUserList
	}
	return nil
}

func (m *MemberInvitedTips) GetOperationTime() int64 {
	if m != nil {
		return m.OperationTime
	}
	return 0
}

type MemberKickedTips struct {
	Group                *GroupInfo             `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
	OpUser               *GroupMemberFullInfo   `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
	KickedUserList       []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=KickedUserList" json:"KickedUserList,omitempty"`
	OperationTime        int64                  `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *MemberKickedTips) Reset()         { *m = MemberKickedTips{} }
func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) }
func (*MemberKickedTips) ProtoMessage()    {}
func (*MemberKickedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{22}
}
func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b)
}
func (m *MemberKickedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberKickedTips.Marshal(b, m, deterministic)
}
func (dst *MemberKickedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberKickedTips.Merge(dst, src)
}
func (m *MemberKickedTips) XXX_Size() int {
	return xxx_messageInfo_MemberKickedTips.Size(m)
}
func (m *MemberKickedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberKickedTips.DiscardUnknown(m)
}

var xxx_messageInfo_MemberKickedTips proto.InternalMessageInfo

func (m *MemberKickedTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *MemberKickedTips) GetOpUser() *GroupMemberFullInfo {
	if m != nil {
		return m.OpUser
	}
	return nil
}

func (m *MemberKickedTips) GetKickedUserList() []*GroupMemberFullInfo {
	if m != nil {
		return m.KickedUserList
	}
	return nil
}

func (m *MemberKickedTips) GetOperationTime() int64 {
	if m != nil {
		return m.OperationTime
	}
	return 0
}

type MemberInfoChangedTips struct {
	ChangeType           int32                `protobuf:"varint,1,opt,name=ChangeType" json:"ChangeType,omitempty"`
	OpUser               *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
	FinalInfo            *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=FinalInfo" json:"FinalInfo,omitempty"`
	MuteTime             int64                `protobuf:"varint,4,opt,name=MuteTime" json:"MuteTime,omitempty"`
	Group                *GroupInfo           `protobuf:"bytes,5,opt,name=Group" json:"Group,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *MemberInfoChangedTips) Reset()         { *m = MemberInfoChangedTips{} }
func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInfoChangedTips) ProtoMessage()    {}
func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{23}
}
func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b)
}
func (m *MemberInfoChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberInfoChangedTips.Marshal(b, m, deterministic)
}
func (dst *MemberInfoChangedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberInfoChangedTips.Merge(dst, src)
}
func (m *MemberInfoChangedTips) XXX_Size() int {
	return xxx_messageInfo_MemberInfoChangedTips.Size(m)
}
func (m *MemberInfoChangedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberInfoChangedTips.DiscardUnknown(m)
}

var xxx_messageInfo_MemberInfoChangedTips proto.InternalMessageInfo

func (m *MemberInfoChangedTips) GetChangeType() int32 {
	if m != nil {
		return m.ChangeType
	}
	return 0
}

func (m *MemberInfoChangedTips) GetOpUser() *GroupMemberFullInfo {
	if m != nil {
		return m.OpUser
	}
	return nil
}

func (m *MemberInfoChangedTips) GetFinalInfo() *GroupMemberFullInfo {
	if m != nil {
		return m.FinalInfo
	}
	return nil
}

func (m *MemberInfoChangedTips) GetMuteTime() int64 {
	if m != nil {
		return m.MuteTime
	}
	return 0
}

func (m *MemberInfoChangedTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

type GroupCreatedTips struct {
	Group                *GroupInfo             `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
	Creator              *GroupMemberFullInfo   `protobuf:"bytes,2,opt,name=Creator" json:"Creator,omitempty"`
	MemberList           []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=MemberList" json:"MemberList,omitempty"`
	OperationTime        int64                  `protobuf:"varint,4,opt,name=OperationTime" json:"OperationTime,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *GroupCreatedTips) Reset()         { *m = GroupCreatedTips{} }
func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) }
func (*GroupCreatedTips) ProtoMessage()    {}
func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{24}
}
func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b)
}
func (m *GroupCreatedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupCreatedTips.Marshal(b, m, deterministic)
}
func (dst *GroupCreatedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupCreatedTips.Merge(dst, src)
}
func (m *GroupCreatedTips) XXX_Size() int {
	return xxx_messageInfo_GroupCreatedTips.Size(m)
}
func (m *GroupCreatedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupCreatedTips.DiscardUnknown(m)
}

var xxx_messageInfo_GroupCreatedTips proto.InternalMessageInfo

func (m *GroupCreatedTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *GroupCreatedTips) GetCreator() *GroupMemberFullInfo {
	if m != nil {
		return m.Creator
	}
	return nil
}

func (m *GroupCreatedTips) GetMemberList() []*GroupMemberFullInfo {
	if m != nil {
		return m.MemberList
	}
	return nil
}

func (m *GroupCreatedTips) GetOperationTime() int64 {
	if m != nil {
		return m.OperationTime
	}
	return 0
}

type GroupInfoChangedTips struct {
	ChangedType          int32                `protobuf:"varint,1,opt,name=ChangedType" json:"ChangedType,omitempty"`
	Group                *GroupInfo           `protobuf:"bytes,2,opt,name=Group" json:"Group,omitempty"`
	OpUser               *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=OpUser" json:"OpUser,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *GroupInfoChangedTips) Reset()         { *m = GroupInfoChangedTips{} }
func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*GroupInfoChangedTips) ProtoMessage()    {}
func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{25}
}
func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b)
}
func (m *GroupInfoChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupInfoChangedTips.Marshal(b, m, deterministic)
}
func (dst *GroupInfoChangedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupInfoChangedTips.Merge(dst, src)
}
func (m *GroupInfoChangedTips) XXX_Size() int {
	return xxx_messageInfo_GroupInfoChangedTips.Size(m)
}
func (m *GroupInfoChangedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupInfoChangedTips.DiscardUnknown(m)
}

var xxx_messageInfo_GroupInfoChangedTips proto.InternalMessageInfo

func (m *GroupInfoChangedTips) GetChangedType() int32 {
	if m != nil {
		return m.ChangedType
	}
	return 0
}

func (m *GroupInfoChangedTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *GroupInfoChangedTips) GetOpUser() *GroupMemberFullInfo {
	if m != nil {
		return m.OpUser
	}
	return nil
}

type JoinGroupApplicationTips struct {
	Group                *GroupInfo      `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
	Applicant            *PublicUserInfo `protobuf:"bytes,2,opt,name=Applicant" json:"Applicant,omitempty"`
	Reason               string          `protobuf:"bytes,3,opt,name=Reason" json:"Reason,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *JoinGroupApplicationTips) Reset()         { *m = JoinGroupApplicationTips{} }
func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) }
func (*JoinGroupApplicationTips) ProtoMessage()    {}
func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{26}
}
func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b)
}
func (m *JoinGroupApplicationTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_JoinGroupApplicationTips.Marshal(b, m, deterministic)
}
func (dst *JoinGroupApplicationTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_JoinGroupApplicationTips.Merge(dst, src)
}
func (m *JoinGroupApplicationTips) XXX_Size() int {
	return xxx_messageInfo_JoinGroupApplicationTips.Size(m)
}
func (m *JoinGroupApplicationTips) XXX_DiscardUnknown() {
	xxx_messageInfo_JoinGroupApplicationTips.DiscardUnknown(m)
}

var xxx_messageInfo_JoinGroupApplicationTips proto.InternalMessageInfo

func (m *JoinGroupApplicationTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *JoinGroupApplicationTips) GetApplicant() *PublicUserInfo {
	if m != nil {
		return m.Applicant
	}
	return nil
}

func (m *JoinGroupApplicationTips) GetReason() string {
	if m != nil {
		return m.Reason
	}
	return ""
}

type ApplicationProcessedTips struct {
	Group                *GroupInfo           `protobuf:"bytes,1,opt,name=Group" json:"Group,omitempty"`
	OpUser               *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=OpUser" json:"OpUser,omitempty"`
	Result               int32                `protobuf:"varint,3,opt,name=Result" json:"Result,omitempty"`
	Reason               string               `protobuf:"bytes,4,opt,name=Reason" json:"Reason,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ApplicationProcessedTips) Reset()         { *m = ApplicationProcessedTips{} }
func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*ApplicationProcessedTips) ProtoMessage()    {}
func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{27}
}
func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b)
}
func (m *ApplicationProcessedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ApplicationProcessedTips.Marshal(b, m, deterministic)
}
func (dst *ApplicationProcessedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ApplicationProcessedTips.Merge(dst, src)
}
func (m *ApplicationProcessedTips) XXX_Size() int {
	return xxx_messageInfo_ApplicationProcessedTips.Size(m)
}
func (m *ApplicationProcessedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_ApplicationProcessedTips.DiscardUnknown(m)
}

var xxx_messageInfo_ApplicationProcessedTips proto.InternalMessageInfo

func (m *ApplicationProcessedTips) GetGroup() *GroupInfo {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *ApplicationProcessedTips) GetOpUser() *GroupMemberFullInfo {
	if m != nil {
		return m.OpUser
	}
	return nil
}

func (m *ApplicationProcessedTips) GetResult() int32 {
	if m != nil {
		return m.Result
	}
	return 0
}

func (m *ApplicationProcessedTips) GetReason() string {
	if m != nil {
		return m.Reason
	}
	return ""
}

type FriendApplication struct {
	AddTime              int64    `protobuf:"varint,1,opt,name=AddTime" json:"AddTime,omitempty"`
	AddSource            string   `protobuf:"bytes,2,opt,name=AddSource" json:"AddSource,omitempty"`
	AddWording           string   `protobuf:"bytes,3,opt,name=AddWording" json:"AddWording,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FriendApplication) Reset()         { *m = FriendApplication{} }
func (m *FriendApplication) String() string { return proto.CompactTextString(m) }
func (*FriendApplication) ProtoMessage()    {}
func (*FriendApplication) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{28}
}
func (m *FriendApplication) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendApplication.Unmarshal(m, b)
}
func (m *FriendApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendApplication.Marshal(b, m, deterministic)
}
func (dst *FriendApplication) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendApplication.Merge(dst, src)
}
func (m *FriendApplication) XXX_Size() int {
	return xxx_messageInfo_FriendApplication.Size(m)
}
func (m *FriendApplication) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendApplication.DiscardUnknown(m)
}

var xxx_messageInfo_FriendApplication proto.InternalMessageInfo

func (m *FriendApplication) GetAddTime() int64 {
	if m != nil {
		return m.AddTime
	}
	return 0
}

func (m *FriendApplication) GetAddSource() string {
	if m != nil {
		return m.AddSource
	}
	return ""
}

func (m *FriendApplication) GetAddWording() string {
	if m != nil {
		return m.AddWording
	}
	return ""
}

type FromToUserID struct {
	FromUserID           string   `protobuf:"bytes,1,opt,name=FromUserID" json:"FromUserID,omitempty"`
	ToUserID             string   `protobuf:"bytes,2,opt,name=ToUserID" json:"ToUserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FromToUserID) Reset()         { *m = FromToUserID{} }
func (m *FromToUserID) String() string { return proto.CompactTextString(m) }
func (*FromToUserID) ProtoMessage()    {}
func (*FromToUserID) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{29}
}
func (m *FromToUserID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FromToUserID.Unmarshal(m, b)
}
func (m *FromToUserID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FromToUserID.Marshal(b, m, deterministic)
}
func (dst *FromToUserID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FromToUserID.Merge(dst, src)
}
func (m *FromToUserID) XXX_Size() int {
	return xxx_messageInfo_FromToUserID.Size(m)
}
func (m *FromToUserID) XXX_DiscardUnknown() {
	xxx_messageInfo_FromToUserID.DiscardUnknown(m)
}

var xxx_messageInfo_FromToUserID proto.InternalMessageInfo

func (m *FromToUserID) GetFromUserID() string {
	if m != nil {
		return m.FromUserID
	}
	return ""
}

func (m *FromToUserID) GetToUserID() string {
	if m != nil {
		return m.ToUserID
	}
	return ""
}

// FromUserID apply to add ToUserID
type FriendApplicationAddedTips struct {
	FromToUserID         *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *FriendApplicationAddedTips) Reset()         { *m = FriendApplicationAddedTips{} }
func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationAddedTips) ProtoMessage()    {}
func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{30}
}
func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b)
}
func (m *FriendApplicationAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendApplicationAddedTips.Marshal(b, m, deterministic)
}
func (dst *FriendApplicationAddedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendApplicationAddedTips.Merge(dst, src)
}
func (m *FriendApplicationAddedTips) XXX_Size() int {
	return xxx_messageInfo_FriendApplicationAddedTips.Size(m)
}
func (m *FriendApplicationAddedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendApplicationAddedTips.DiscardUnknown(m)
}

var xxx_messageInfo_FriendApplicationAddedTips proto.InternalMessageInfo

func (m *FriendApplicationAddedTips) GetFromToUserID() *FromToUserID {
	if m != nil {
		return m.FromToUserID
	}
	return nil
}

// FromUserID accept or reject ToUserID
type FriendApplicationProcessedTips struct {
	FromToUserID         *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *FriendApplicationProcessedTips) Reset()         { *m = FriendApplicationProcessedTips{} }
func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationProcessedTips) ProtoMessage()    {}
func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{31}
}
func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b)
}
func (m *FriendApplicationProcessedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendApplicationProcessedTips.Marshal(b, m, deterministic)
}
func (dst *FriendApplicationProcessedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendApplicationProcessedTips.Merge(dst, src)
}
func (m *FriendApplicationProcessedTips) XXX_Size() int {
	return xxx_messageInfo_FriendApplicationProcessedTips.Size(m)
}
func (m *FriendApplicationProcessedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendApplicationProcessedTips.DiscardUnknown(m)
}

var xxx_messageInfo_FriendApplicationProcessedTips proto.InternalMessageInfo

func (m *FriendApplicationProcessedTips) GetFromToUserID() *FromToUserID {
	if m != nil {
		return m.FromToUserID
	}
	return nil
}

// FromUserID  Added a friend ToUserID
type FriendAddedTips struct {
	Friend               *FriendInfo     `protobuf:"bytes,1,opt,name=Friend" json:"Friend,omitempty"`
	OperationTime        int64           `protobuf:"varint,2,opt,name=OperationTime" json:"OperationTime,omitempty"`
	OpUser               *PublicUserInfo `protobuf:"bytes,3,opt,name=OpUser" json:"OpUser,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *FriendAddedTips) Reset()         { *m = FriendAddedTips{} }
func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendAddedTips) ProtoMessage()    {}
func (*FriendAddedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{32}
}
func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b)
}
func (m *FriendAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendAddedTips.Marshal(b, m, deterministic)
}
func (dst *FriendAddedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendAddedTips.Merge(dst, src)
}
func (m *FriendAddedTips) XXX_Size() int {
	return xxx_messageInfo_FriendAddedTips.Size(m)
}
func (m *FriendAddedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendAddedTips.DiscardUnknown(m)
}

var xxx_messageInfo_FriendAddedTips proto.InternalMessageInfo

func (m *FriendAddedTips) GetFriend() *FriendInfo {
	if m != nil {
		return m.Friend
	}
	return nil
}

func (m *FriendAddedTips) GetOperationTime() int64 {
	if m != nil {
		return m.OperationTime
	}
	return 0
}

func (m *FriendAddedTips) GetOpUser() *PublicUserInfo {
	if m != nil {
		return m.OpUser
	}
	return nil
}

// FromUserID  deleted a friend ToUserID
type FriendDeletedTips struct {
	FromToUserID         *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *FriendDeletedTips) Reset()         { *m = FriendDeletedTips{} }
func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) }
func (*FriendDeletedTips) ProtoMessage()    {}
func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{33}
}
func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b)
}
func (m *FriendDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendDeletedTips.Marshal(b, m, deterministic)
}
func (dst *FriendDeletedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendDeletedTips.Merge(dst, src)
}
func (m *FriendDeletedTips) XXX_Size() int {
	return xxx_messageInfo_FriendDeletedTips.Size(m)
}
func (m *FriendDeletedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendDeletedTips.DiscardUnknown(m)
}

var xxx_messageInfo_FriendDeletedTips proto.InternalMessageInfo

func (m *FriendDeletedTips) GetFromToUserID() *FromToUserID {
	if m != nil {
		return m.FromToUserID
	}
	return nil
}

type BlackAddedTips struct {
	FromToUserID         *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *BlackAddedTips) Reset()         { *m = BlackAddedTips{} }
func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) }
func (*BlackAddedTips) ProtoMessage()    {}
func (*BlackAddedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{34}
}
func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b)
}
func (m *BlackAddedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlackAddedTips.Marshal(b, m, deterministic)
}
func (dst *BlackAddedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlackAddedTips.Merge(dst, src)
}
func (m *BlackAddedTips) XXX_Size() int {
	return xxx_messageInfo_BlackAddedTips.Size(m)
}
func (m *BlackAddedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_BlackAddedTips.DiscardUnknown(m)
}

var xxx_messageInfo_BlackAddedTips proto.InternalMessageInfo

func (m *BlackAddedTips) GetFromToUserID() *FromToUserID {
	if m != nil {
		return m.FromToUserID
	}
	return nil
}

type BlackDeletedTips struct {
	FromToUserID         *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *BlackDeletedTips) Reset()         { *m = BlackDeletedTips{} }
func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) }
func (*BlackDeletedTips) ProtoMessage()    {}
func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{35}
}
func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b)
}
func (m *BlackDeletedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BlackDeletedTips.Marshal(b, m, deterministic)
}
func (dst *BlackDeletedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BlackDeletedTips.Merge(dst, src)
}
func (m *BlackDeletedTips) XXX_Size() int {
	return xxx_messageInfo_BlackDeletedTips.Size(m)
}
func (m *BlackDeletedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_BlackDeletedTips.DiscardUnknown(m)
}

var xxx_messageInfo_BlackDeletedTips proto.InternalMessageInfo

func (m *BlackDeletedTips) GetFromToUserID() *FromToUserID {
	if m != nil {
		return m.FromToUserID
	}
	return nil
}

type FriendInfoChangedTips struct {
	FromToUserID         *FromToUserID `protobuf:"bytes,1,opt,name=FromToUserID" json:"FromToUserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *FriendInfoChangedTips) Reset()         { *m = FriendInfoChangedTips{} }
func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*FriendInfoChangedTips) ProtoMessage()    {}
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{36}
}
func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b)
}
func (m *FriendInfoChangedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FriendInfoChangedTips.Marshal(b, m, deterministic)
}
func (dst *FriendInfoChangedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FriendInfoChangedTips.Merge(dst, src)
}
func (m *FriendInfoChangedTips) XXX_Size() int {
	return xxx_messageInfo_FriendInfoChangedTips.Size(m)
}
func (m *FriendInfoChangedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_FriendInfoChangedTips.DiscardUnknown(m)
}

var xxx_messageInfo_FriendInfoChangedTips proto.InternalMessageInfo

func (m *FriendInfoChangedTips) GetFromToUserID() *FromToUserID {
	if m != nil {
		return m.FromToUserID
	}
	return nil
}

// ////////////////////user/////////////////////
type SelfInfoUpdatedTips struct {
	UserID               string   `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SelfInfoUpdatedTips) Reset()         { *m = SelfInfoUpdatedTips{} }
func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) }
func (*SelfInfoUpdatedTips) ProtoMessage()    {}
func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) {
	return fileDescriptor_ws_c6aceb61f76d5c8d, []int{37}
}
func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b)
}
func (m *SelfInfoUpdatedTips) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SelfInfoUpdatedTips.Marshal(b, m, deterministic)
}
func (dst *SelfInfoUpdatedTips) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SelfInfoUpdatedTips.Merge(dst, src)
}
func (m *SelfInfoUpdatedTips) XXX_Size() int {
	return xxx_messageInfo_SelfInfoUpdatedTips.Size(m)
}
func (m *SelfInfoUpdatedTips) XXX_DiscardUnknown() {
	xxx_messageInfo_SelfInfoUpdatedTips.DiscardUnknown(m)
}

var xxx_messageInfo_SelfInfoUpdatedTips proto.InternalMessageInfo

func (m *SelfInfoUpdatedTips) GetUserID() string {
	if m != nil {
		return m.UserID
	}
	return ""
}

func init() {
	proto.RegisterType((*GroupInfo)(nil), "open_im_sdk.GroupInfo")
	proto.RegisterType((*GroupMemberFullInfo)(nil), "open_im_sdk.GroupMemberFullInfo")
	proto.RegisterType((*PublicUserInfo)(nil), "open_im_sdk.PublicUserInfo")
	proto.RegisterType((*UserInfo)(nil), "open_im_sdk.UserInfo")
	proto.RegisterType((*FriendInfo)(nil), "open_im_sdk.FriendInfo")
	proto.RegisterType((*BlackInfo)(nil), "open_im_sdk.BlackInfo")
	proto.RegisterType((*GroupRequest)(nil), "open_im_sdk.GroupRequest")
	proto.RegisterType((*FriendRequest)(nil), "open_im_sdk.FriendRequest")
	proto.RegisterType((*PullMessageBySeqListResp)(nil), "open_im_sdk.PullMessageBySeqListResp")
	proto.RegisterType((*PullMessageBySeqListReq)(nil), "open_im_sdk.PullMessageBySeqListReq")
	proto.RegisterType((*PullMessageReq)(nil), "open_im_sdk.PullMessageReq")
	proto.RegisterType((*PullMessageResp)(nil), "open_im_sdk.PullMessageResp")
	proto.RegisterType((*GetMaxAndMinSeqReq)(nil), "open_im_sdk.GetMaxAndMinSeqReq")
	proto.RegisterType((*GetMaxAndMinSeqResp)(nil), "open_im_sdk.GetMaxAndMinSeqResp")
	proto.RegisterType((*GatherFormat)(nil), "open_im_sdk.GatherFormat")
	proto.RegisterType((*UserSendMsgResp)(nil), "open_im_sdk.UserSendMsgResp")
	proto.RegisterType((*MsgData)(nil), "open_im_sdk.MsgData")
	proto.RegisterMapType((map[string]bool)(nil), "open_im_sdk.MsgData.OptionsEntry")
	proto.RegisterType((*OfflinePushInfo)(nil), "open_im_sdk.OfflinePushInfo")
	proto.RegisterType((*TipsComm)(nil), "open_im_sdk.TipsComm")
	proto.RegisterType((*MemberEnterTips)(nil), "open_im_sdk.MemberEnterTips")
	proto.RegisterType((*MemberLeaveTips)(nil), "open_im_sdk.MemberLeaveTips")
	proto.RegisterType((*MemberInvitedTips)(nil), "open_im_sdk.MemberInvitedTips")
	proto.RegisterType((*MemberKickedTips)(nil), "open_im_sdk.MemberKickedTips")
	proto.RegisterType((*MemberInfoChangedTips)(nil), "open_im_sdk.MemberInfoChangedTips")
	proto.RegisterType((*GroupCreatedTips)(nil), "open_im_sdk.GroupCreatedTips")
	proto.RegisterType((*GroupInfoChangedTips)(nil), "open_im_sdk.GroupInfoChangedTips")
	proto.RegisterType((*JoinGroupApplicationTips)(nil), "open_im_sdk.JoinGroupApplicationTips")
	proto.RegisterType((*ApplicationProcessedTips)(nil), "open_im_sdk.ApplicationProcessedTips")
	proto.RegisterType((*FriendApplication)(nil), "open_im_sdk.FriendApplication")
	proto.RegisterType((*FromToUserID)(nil), "open_im_sdk.FromToUserID")
	proto.RegisterType((*FriendApplicationAddedTips)(nil), "open_im_sdk.FriendApplicationAddedTips")
	proto.RegisterType((*FriendApplicationProcessedTips)(nil), "open_im_sdk.FriendApplicationProcessedTips")
	proto.RegisterType((*FriendAddedTips)(nil), "open_im_sdk.FriendAddedTips")
	proto.RegisterType((*FriendDeletedTips)(nil), "open_im_sdk.FriendDeletedTips")
	proto.RegisterType((*BlackAddedTips)(nil), "open_im_sdk.BlackAddedTips")
	proto.RegisterType((*BlackDeletedTips)(nil), "open_im_sdk.BlackDeletedTips")
	proto.RegisterType((*FriendInfoChangedTips)(nil), "open_im_sdk.FriendInfoChangedTips")
	proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips")
}

func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c6aceb61f76d5c8d) }

var fileDescriptor_ws_c6aceb61f76d5c8d = []byte{
	// 1923 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x8f, 0x1b, 0x49,
	0x15, 0x57, 0xb7, 0xdd, 0xfe, 0x78, 0xf6, 0x8c, 0x27, 0x9d, 0x64, 0xb6, 0x09, 0xab, 0xc8, 0xb4,
	0x56, 0x68, 0x84, 0x20, 0x2b, 0x65, 0x85, 0xb4, 0x04, 0x2d, 0xe0, 0x19, 0xcf, 0xe4, 0x83, 0x38,
	0x1e, 0xda, 0x13, 0x38, 0x70, 0x88, 0x3a, 0xee, 0xb2, 0xa7, 0xe5, 0x76, 0xb5, 0xdd, 0xd5, 0x3d,
	0x49, 0x2e, 0x9c, 0xf9, 0x07, 0xe0, 0xb2, 0x02, 0x71, 0x43, 0x5c, 0x39, 0xc0, 0x3f, 0x84, 0x38,
	0x20, 0x71, 0x42, 0x9c, 0xe0, 0x80, 0x5e, 0x55, 0x75, 0x77, 0x95, 0xed, 0x4c, 0x3c, 0x99, 0x28,
	0x17, 0x6e, 0x7e, 0xbf, 0x7e, 0xf5, 0xbe, 0xeb, 0xd5, 0xab, 0x32, 0x74, 0x58, 0x30, 0x7b, 0xf1,
	0x8a, 0x7d, 0xfe, 0x8a, 0xdd, 0x5b, 0x24, 0x71, 0x1a, 0xdb, 0xad, 0x78, 0x41, 0xe8, 0x8b, 0x70,
	0xfe, 0x82, 0x05, 0x33, 0xf7, 0xdf, 0x26, 0x34, 0x1f, 0x26, 0x71, 0xb6, 0x78, 0x4c, 0x27, 0xb1,
	0xed, 0x40, 0x5d, 0x10, 0x7d, 0xc7, 0xe8, 0x1a, 0x07, 0x4d, 0x2f, 0x27, 0xed, 0x4f, 0x25, 0xdb,
	0x33, 0x7f, 0x4e, 0x1c, 0x93, 0x7f, 0x2b, 0x01, 0xdb, 0x85, 0xf6, 0xb3, 0x38, 0x0d, 0x27, 0xe1,
	0xd8, 0x4f, 0xc3, 0x98, 0x3a, 0x15, 0xce, 0xa0, 0x61, 0xc8, 0xf3, 0x98, 0xa6, 0x49, 0x1c, 0x64,
	0x63, 0xce, 0x53, 0x15, 0x3c, 0x2a, 0x86, 0xfa, 0x4f, 0xfc, 0x31, 0x79, 0x9e, 0x44, 0x8e, 0x25,
	0xf4, 0x4b, 0xd2, 0xee, 0x42, 0x6b, 0xf8, 0x8a, 0x92, 0xe4, 0x39, 0x23, 0xc9, 0xe3, 0xbe, 0x53,
	0xe3, 0x5f, 0x55, 0xc8, 0xbe, 0x0b, 0x70, 0x94, 0x10, 0x3f, 0x25, 0x67, 0xe1, 0x9c, 0x38, 0xf5,
	0xae, 0x71, 0x50, 0xf1, 0x14, 0x04, 0x25, 0x0c, 0xc8, 0xfc, 0x25, 0x49, 0x8e, 0xe2, 0x8c, 0xa6,
	0x4e, 0xa3, 0x6b, 0x1c, 0xec, 0x78, 0x2a, 0x64, 0xef, 0x82, 0x79, 0xfc, 0xda, 0x69, 0x72, 0xd1,
	0xe6, 0xf1, 0x6b, 0x7b, 0x1f, 0x6a, 0xa3, 0xd4, 0x4f, 0x33, 0xe6, 0x40, 0xd7, 0x38, 0xb0, 0x3c,
	0x49, 0xd9, 0x9f, 0xc1, 0x0e, 0x97, 0x1b, 0xe7, 0xd6, 0xb4, 0xf8, 0x12, 0x1d, 0x2c, 0x22, 0x76,
	0xf6, 0x66, 0x41, 0x9c, 0x36, 0x17, 0x50, 0x02, 0xee, 0x5f, 0x4d, 0xb8, 0xc9, 0x29, 0x61, 0xc0,
	0x49, 0x16, 0x45, 0xef, 0xc8, 0xc0, 0x3e, 0xd4, 0xa4, 0x3a, 0x11, 0xfe, 0x5a, 0xa9, 0x27, 0x89,
	0x23, 0xf2, 0x94, 0x5c, 0x90, 0x88, 0x07, 0xde, 0xf2, 0x4a, 0xc0, 0xbe, 0x03, 0x8d, 0x27, 0x71,
	0x48, 0x79, 0x4c, 0xaa, 0x3c, 0x26, 0x05, 0x8d, 0xdf, 0x9e, 0x85, 0xe3, 0x19, 0x4f, 0xa9, 0x08,
	0x77, 0x41, 0xab, 0x99, 0xa8, 0xe9, 0x99, 0xf8, 0x36, 0xec, 0xf6, 0x16, 0x8b, 0x81, 0x4f, 0xa7,
	0x24, 0x11, 0x4a, 0xeb, 0x5c, 0xe9, 0x0a, 0x8a, 0xf9, 0x40, 0x4d, 0xa3, 0x38, 0x4b, 0xc6, 0x84,
	0x87, 0xdb, 0xf2, 0x14, 0x04, 0xe5, 0x0c, 0x17, 0x24, 0x51, 0xc2, 0x28, 0x22, 0xbf, 0x82, 0xca,
	0xac, 0x40, 0x9e, 0x15, 0xf7, 0xf7, 0x06, 0xec, 0x9e, 0x66, 0x2f, 0xa3, 0x70, 0xcc, 0x19, 0x30,
	0x68, 0x65, 0x68, 0x0c, 0x2d, 0x34, 0xd2, 0x41, 0x5a, 0xd6, 0x6c, 0x41, 0xab, 0x0e, 0x56, 0x74,
	0x07, 0xf7, 0xa1, 0xf6, 0x90, 0xd0, 0x80, 0x24, 0x3c, 0x60, 0x96, 0x27, 0xa9, 0x0d, 0x8e, 0x5b,
	0x9b, 0x1c, 0x77, 0x7f, 0x6b, 0x42, 0xe3, 0x23, 0x9b, 0xd6, 0x85, 0xd6, 0xe9, 0x79, 0x4c, 0xc9,
	0xb3, 0x0c, 0x8b, 0x49, 0x26, 0x53, 0x85, 0xec, 0x5b, 0x60, 0x1d, 0x86, 0x49, 0x7a, 0xce, 0xb3,
	0x59, 0xf1, 0x04, 0x81, 0xe8, 0xf1, 0xdc, 0x0f, 0x45, 0x0a, 0x9b, 0x9e, 0x20, 0x64, 0xc4, 0x1b,
	0xc5, 0x3e, 0xd0, 0x77, 0x56, 0x73, 0x6d, 0x67, 0xad, 0x07, 0x06, 0x36, 0x06, 0xe6, 0x5f, 0x06,
	0xc0, 0x49, 0x12, 0x12, 0x1a, 0xf0, 0xd0, 0xac, 0x6c, 0x69, 0x63, 0x7d, 0x4b, 0xef, 0x43, 0xcd,
	0x23, 0x73, 0x3f, 0x99, 0xe5, 0x25, 0x2f, 0xa8, 0x15, 0x83, 0x2a, 0x6b, 0x06, 0x7d, 0x3f, 0xd7,
	0x83, 0x72, 0x78, 0xa8, 0x5a, 0xf7, 0x6f, 0xdf, 0x53, 0xda, 0xde, 0xbd, 0x3c, 0x3f, 0x9e, 0xc2,
	0x88, 0x3b, 0xa9, 0x17, 0x04, 0xb2, 0x60, 0x45, 0x6e, 0x4b, 0x60, 0x43, 0xbd, 0xd6, 0x2e, 0xa9,
	0xd7, 0x7a, 0x51, 0xaf, 0x7f, 0x37, 0xa0, 0x79, 0x18, 0xf9, 0xe3, 0xd9, 0x96, 0x4e, 0xeb, 0xce,
	0x99, 0x6b, 0xce, 0xf5, 0x60, 0x87, 0x8b, 0xcb, 0x5d, 0xe0, 0xfe, 0xb7, 0xee, 0x7f, 0x53, 0xf3,
	0x4f, 0xdf, 0x20, 0x9e, 0xbe, 0x42, 0x77, 0xb4, 0xfa, 0x6e, 0x47, 0xad, 0x4b, 0x1c, 0xad, 0x15,
	0x8e, 0xfe, 0xda, 0x84, 0x36, 0x6f, 0x56, 0x1e, 0x59, 0x66, 0x84, 0xa5, 0x6f, 0xad, 0x7d, 0xa5,
	0xc7, 0x99, 0x7a, 0x8f, 0x73, 0xa1, 0xfd, 0xc8, 0xa7, 0x41, 0x44, 0x3c, 0xc2, 0xb2, 0x28, 0xcd,
	0xcf, 0x11, 0x15, 0x13, 0x45, 0xb1, 0x1c, 0xb0, 0xa9, 0x3c, 0x41, 0x24, 0x85, 0x4e, 0x09, 0x3e,
	0xfc, 0x24, 0x2c, 0x2e, 0x01, 0xd4, 0xe9, 0x91, 0x25, 0x0f, 0xa9, 0xd8, 0x01, 0x39, 0x59, 0xea,
	0x94, 0xb6, 0xd6, 0x55, 0x9d, 0x65, 0x4e, 0x04, 0xcd, 0x05, 0x34, 0x44, 0x4e, 0x4a, 0x64, 0xf5,
	0xe4, 0x70, 0xbf, 0x36, 0x61, 0x47, 0x14, 0x56, 0x1e, 0x8b, 0xbb, 0x58, 0x92, 0xf1, 0x5c, 0x8b,
	0x87, 0x82, 0x60, 0x3f, 0x38, 0x8b, 0xb5, 0xfe, 0x5e, 0xd0, 0x1b, 0xa3, 0x62, 0x6d, 0x19, 0x15,
	0xbd, 0x9a, 0xac, 0xb5, 0x6a, 0xfa, 0x0c, 0x76, 0x84, 0x1c, 0xbd, 0xa8, 0x75, 0x50, 0x8f, 0x6d,
	0x7d, 0x35, 0xb6, 0x57, 0x8d, 0xce, 0x7f, 0x0d, 0x70, 0x4e, 0xb3, 0x28, 0x1a, 0x10, 0xc6, 0xfc,
	0x29, 0x39, 0x7c, 0x33, 0x22, 0xcb, 0xa7, 0x21, 0x4b, 0x3d, 0xc2, 0x16, 0x98, 0x28, 0x92, 0x24,
	0x47, 0x71, 0x40, 0x78, 0x94, 0x2c, 0x2f, 0x27, 0xd1, 0x45, 0x92, 0x24, 0x68, 0x81, 0xec, 0x06,
	0x82, 0x42, 0x7c, 0xee, 0xbf, 0x1e, 0x91, 0xa5, 0xec, 0x04, 0x92, 0xe2, 0x78, 0x48, 0x11, 0xaf,
	0x4a, 0x9c, 0x53, 0xf6, 0x8f, 0x61, 0x87, 0x85, 0x74, 0x2a, 0x92, 0x2b, 0x8a, 0xa5, 0x72, 0xd0,
	0xba, 0xff, 0x0d, 0x6d, 0x03, 0x3d, 0xf4, 0xd3, 0x73, 0x92, 0x9c, 0xc4, 0xc9, 0xdc, 0x4f, 0x3d,
	0x9d, 0xdf, 0xfe, 0x0a, 0xda, 0x53, 0x2c, 0xd8, 0x7c, 0x7d, 0xed, 0x5d, 0xeb, 0x35, 0x76, 0x77,
	0x0e, 0x9f, 0x6c, 0xf6, 0x9e, 0x9b, 0x9c, 0x69, 0x3b, 0x46, 0x50, 0xd8, 0x35, 0x62, 0xbe, 0xf9,
	0xc2, 0x98, 0x16, 0x05, 0xa2, 0x42, 0x18, 0x36, 0x26, 0xe4, 0x38, 0x95, 0x6e, 0x05, 0xeb, 0x5b,
	0x92, 0xee, 0xaf, 0xf0, 0xb8, 0x2c, 0xd4, 0x5d, 0xa6, 0xe5, 0x0e, 0x34, 0x18, 0x59, 0x1e, 0x92,
	0x69, 0x48, 0x65, 0xdf, 0x29, 0x68, 0x5c, 0xc3, 0xc8, 0xf2, 0x98, 0x06, 0x79, 0x90, 0x05, 0xb5,
	0x6a, 0x59, 0x75, 0xcd, 0x32, 0xec, 0xfa, 0x1d, 0xcd, 0x80, 0xff, 0x8b, 0x24, 0xdf, 0x02, 0xfb,
	0x21, 0x49, 0x07, 0xfe, 0xeb, 0x1e, 0x0d, 0x06, 0xdc, 0x24, 0x8f, 0x2c, 0xdd, 0x63, 0xb8, 0xb9,
	0x86, 0xb2, 0x85, 0xe2, 0x9c, 0xf1, 0x16, 0xe7, 0x4c, 0xd5, 0x39, 0xf7, 0x11, 0xb4, 0x55, 0xd5,
	0xb8, 0xc1, 0xc2, 0x40, 0x26, 0xd3, 0x0c, 0x03, 0xfb, 0x00, 0xaa, 0x11, 0x56, 0x82, 0xc9, 0x6d,
	0xbe, 0xa5, 0xd9, 0x3c, 0x60, 0xd3, 0xbe, 0x9f, 0xfa, 0x1e, 0xe7, 0x70, 0x97, 0xd0, 0x41, 0x8b,
	0x47, 0x84, 0x06, 0x03, 0x36, 0xe5, 0xc6, 0x74, 0xa1, 0x35, 0x22, 0xc9, 0x05, 0x77, 0xa3, 0x3c,
	0xa1, 0x14, 0x08, 0x39, 0x8e, 0xa2, 0x90, 0xd0, 0x54, 0x70, 0xc8, 0x6a, 0x54, 0x20, 0x51, 0x49,
	0x34, 0x50, 0x8e, 0xe7, 0x82, 0x76, 0xff, 0x62, 0x41, 0x5d, 0x1a, 0x21, 0xaa, 0x8a, 0x06, 0x65,
	0x25, 0x0a, 0x0a, 0xf1, 0x84, 0x8c, 0x2f, 0xca, 0x59, 0x57, 0x50, 0x58, 0x37, 0x53, 0x79, 0x72,
	0xc8, 0xc9, 0x48, 0x92, 0x68, 0xd3, 0x58, 0xb1, 0x49, 0xd6, 0xa1, 0x02, 0x21, 0x07, 0x53, 0xfc,
	0x92, 0x33, 0x92, 0x02, 0xd9, 0xdf, 0x81, 0x3d, 0xc6, 0xe7, 0xa9, 0xd3, 0xc8, 0x4f, 0x27, 0x71,
	0x32, 0x97, 0xed, 0xd0, 0xf2, 0xd6, 0x70, 0x3c, 0x24, 0x05, 0x56, 0x4c, 0x71, 0xa2, 0x2d, 0xae,
	0xa0, 0xd8, 0x5f, 0x05, 0xc2, 0x47, 0x38, 0xef, 0xa9, 0x1c, 0xab, 0x74, 0x50, 0xd8, 0xc6, 0x58,
	0x18, 0x53, 0x7e, 0x5b, 0x68, 0x72, 0xa5, 0x2a, 0x84, 0x9e, 0xcf, 0xd9, 0x14, 0x0f, 0x0c, 0x39,
	0x5c, 0xe5, 0x24, 0xf7, 0x3c, 0xa6, 0x29, 0xa1, 0x29, 0x5f, 0xdb, 0x12, 0x6b, 0x15, 0x08, 0xd7,
	0x4a, 0x92, 0xdf, 0x43, 0xda, 0x5e, 0x4e, 0x62, 0x5f, 0x9f, 0xc4, 0xc9, 0x98, 0xf0, 0xbe, 0xb1,
	0xd3, 0xad, 0x60, 0x5f, 0x2f, 0x00, 0x7b, 0x0f, 0x2a, 0x8c, 0x2c, 0x9d, 0x5d, 0x9e, 0x40, 0xfc,
	0xa9, 0xe5, 0xb5, 0xa3, 0xe7, 0x15, 0x4f, 0x81, 0x71, 0x79, 0xd2, 0xec, 0x89, 0x53, 0xa0, 0x44,
	0xec, 0x1f, 0x42, 0x7d, 0xb8, 0xc0, 0x9e, 0xc0, 0x9c, 0x1b, 0xbc, 0x2e, 0xbf, 0xb5, 0xa9, 0x2e,
	0xef, 0x49, 0x9e, 0x63, 0x9a, 0x26, 0x6f, 0xbc, 0x7c, 0x85, 0x7d, 0x02, 0x9d, 0x78, 0x32, 0x89,
	0x42, 0x4a, 0x4e, 0x33, 0x76, 0xce, 0xc7, 0x1e, 0x9b, 0x8f, 0x3d, 0x9f, 0x6a, 0x42, 0x86, 0x3a,
	0x8f, 0xb7, 0xba, 0xe8, 0xce, 0x03, 0x68, 0xab, 0x0a, 0xd0, 0xc5, 0x19, 0x79, 0x23, 0xab, 0x0f,
	0x7f, 0xe2, 0x48, 0x7c, 0xe1, 0x47, 0x99, 0x98, 0xbc, 0x1a, 0x9e, 0x20, 0x1e, 0x98, 0x5f, 0x1a,
	0xee, 0x6f, 0x0c, 0xe8, 0xac, 0x28, 0x40, 0xee, 0xb3, 0x30, 0x8d, 0x88, 0x94, 0x20, 0x08, 0xdb,
	0x86, 0x6a, 0x9f, 0xb0, 0xb1, 0x2c, 0x5e, 0xfe, 0x5b, 0x1e, 0x82, 0x95, 0x62, 0xa8, 0x76, 0xa1,
	0x1d, 0x0e, 0x47, 0x28, 0x68, 0x14, 0x67, 0x34, 0xc8, 0xaf, 0xc3, 0x2a, 0x86, 0xc5, 0x13, 0x0e,
	0x47, 0x87, 0x7e, 0x30, 0x25, 0xe2, 0xd2, 0x6a, 0x71, 0x9b, 0x74, 0xd0, 0xed, 0x43, 0xe3, 0x2c,
	0x5c, 0xb0, 0xa3, 0x78, 0x3e, 0xc7, 0x8d, 0xd3, 0x27, 0x29, 0x4e, 0xf4, 0x06, 0xcf, 0xb4, 0xa4,
	0xb0, 0x48, 0xfa, 0x64, 0xe2, 0x67, 0x51, 0x8a, 0xac, 0xf9, 0x96, 0x55, 0x20, 0xf7, 0x4f, 0x06,
	0x74, 0xc4, 0x5d, 0xf4, 0x98, 0xa6, 0x24, 0x41, 0xcc, 0xfe, 0x2e, 0x58, 0x7c, 0x32, 0xe3, 0xc2,
	0x5a, 0xf7, 0xf7, 0xf5, 0xe6, 0x97, 0xbf, 0x1a, 0x78, 0x82, 0xc9, 0x3e, 0x84, 0x16, 0x06, 0xd5,
	0xa7, 0x29, 0x1f, 0xbb, 0x4d, 0xbe, 0xa6, 0xbb, 0xbe, 0x46, 0xbf, 0xf1, 0x7a, 0xea, 0x22, 0xf4,
	0x78, 0x98, 0x9f, 0x1d, 0x4a, 0xf7, 0xd0, 0x41, 0xf7, 0x8f, 0x85, 0xad, 0x4f, 0x89, 0x7f, 0x41,
	0xde, 0xc3, 0xd6, 0x9f, 0x00, 0xf0, 0xa5, 0xc9, 0x95, 0x4c, 0x55, 0xd6, 0x6c, 0x69, 0xe9, 0x3f,
	0x0d, 0xb8, 0x21, 0x84, 0x3c, 0xa6, 0x17, 0x61, 0x4a, 0x82, 0xf7, 0xb0, 0xf5, 0x4b, 0xa8, 0x0d,
	0x17, 0x57, 0xb2, 0x53, 0xf2, 0xdb, 0x4f, 0xa0, 0x23, 0xd5, 0x22, 0x59, 0x0c, 0x07, 0xdb, 0x88,
	0x58, 0x5d, 0xb8, 0xee, 0x6f, 0x75, 0x93, 0xbf, 0xff, 0x30, 0x60, 0x4f, 0x48, 0xfa, 0x69, 0x38,
	0x9e, 0x7d, 0x64, 0x77, 0x1f, 0xc1, 0xae, 0xd0, 0x7a, 0x65, 0x6f, 0x57, 0xd6, 0x6d, 0xe9, 0xec,
	0x7f, 0x0c, 0xb8, 0x9d, 0x27, 0x77, 0x12, 0x1f, 0x9d, 0xe3, 0x55, 0x57, 0x78, 0x8c, 0x53, 0x37,
	0x27, 0x79, 0x4b, 0x16, 0x23, 0x8e, 0x82, 0x5c, 0xc3, 0xc7, 0x1f, 0x41, 0xf3, 0x24, 0xa4, 0x7e,
	0xa4, 0xdc, 0xfc, 0xde, 0xbd, 0xb8, 0x5c, 0x82, 0x1d, 0x7c, 0x90, 0xc9, 0x1e, 0x2d, 0xdf, 0x83,
	0x72, 0xba, 0xcc, 0x93, 0xb5, 0x45, 0x9e, 0xdc, 0xbf, 0x19, 0xb0, 0xc7, 0x7f, 0x89, 0xdb, 0xc4,
	0xfb, 0xa4, 0xfa, 0x01, 0xd4, 0xe5, 0x9b, 0xd9, 0xd6, 0x71, 0xc8, 0x17, 0xe0, 0x0e, 0x96, 0x2d,
	0xe0, 0x2a, 0x89, 0x56, 0xd6, 0x6c, 0x99, 0xe4, 0x3f, 0x18, 0x70, 0xab, 0x30, 0x5c, 0xcd, 0x31,
	0x4e, 0x41, 0x92, 0x2c, 0x93, 0xac, 0x42, 0x65, 0x30, 0xcc, 0xab, 0xd5, 0x7d, 0xe5, 0x6a, 0x35,
	0xe1, 0x7e, 0x6d, 0x80, 0xf3, 0x24, 0x0e, 0x29, 0xe7, 0xe9, 0x2d, 0x16, 0x91, 0x7c, 0x72, 0x7d,
	0x8f, 0x8c, 0xfc, 0x00, 0x9a, 0x52, 0x00, 0x4d, 0xa5, 0xd9, 0x97, 0x3e, 0x2c, 0x94, 0xdc, 0xe2,
	0x06, 0xea, 0xb3, 0xe2, 0xf5, 0x57, 0x52, 0xee, 0x9f, 0x0d, 0x70, 0x14, 0xa3, 0x4e, 0x93, 0x78,
	0x4c, 0x18, 0xfb, 0xc8, 0xad, 0x81, 0x1b, 0xa7, 0x5c, 0x9e, 0x6b, 0xea, 0xb5, 0x99, 0x1b, 0x5d,
	0xd5, 0x8c, 0x9e, 0xc1, 0x0d, 0x71, 0x7f, 0x57, 0x2c, 0xc7, 0x39, 0xaa, 0x17, 0x88, 0xe1, 0x47,
	0xcc, 0xe9, 0x39, 0xa9, 0x3f, 0xa8, 0xc8, 0xd7, 0xf1, 0xf2, 0x41, 0xe5, 0x2e, 0x40, 0x2f, 0x08,
	0x7e, 0x11, 0x27, 0x41, 0x48, 0xa7, 0x32, 0x3a, 0x0a, 0xe2, 0x3e, 0x81, 0x36, 0x4e, 0x72, 0xc5,
	0x7d, 0xff, 0x1a, 0x6f, 0x05, 0xee, 0x2f, 0xe1, 0xce, 0x9a, 0xe1, 0xbd, 0x20, 0x90, 0xe1, 0xfe,
	0x4a, 0xd7, 0x24, 0xa3, 0xae, 0x5f, 0x6a, 0x54, 0x06, 0x4f, 0x63, 0x77, 0x5f, 0xc0, 0xdd, 0x35,
	0xe1, 0x7a, 0x3e, 0xaf, 0xa9, 0xe0, 0x77, 0x06, 0x74, 0xa4, 0x86, 0xc2, 0xe6, 0xcf, 0xa1, 0x26,
	0x20, 0x29, 0xec, 0x93, 0x15, 0x61, 0xf9, 0x7b, 0xa2, 0x27, 0xd9, 0xd6, 0xf7, 0xb5, 0xb9, 0x61,
	0x5f, 0xdb, 0x5f, 0xac, 0x6c, 0xb7, 0x4b, 0xcb, 0x3c, 0xdf, 0x69, 0x5e, 0x5e, 0x16, 0x7d, 0x12,
	0x91, 0xf4, 0xc3, 0xf8, 0x3c, 0x84, 0x5d, 0xfe, 0x3a, 0xf7, 0xc1, 0xb2, 0xf4, 0x33, 0xd8, 0xe3,
	0x02, 0x3f, 0xa0, 0x8d, 0x3f, 0x87, 0xdb, 0x65, 0xa0, 0xd5, 0x26, 0x78, 0x4d, 0xb9, 0xdf, 0x83,
	0x9b, 0x23, 0x12, 0x4d, 0x50, 0xea, 0xf3, 0x45, 0x50, 0x9c, 0x22, 0x6f, 0x79, 0x38, 0x7c, 0x59,
	0xe3, 0x7f, 0x60, 0x7d, 0xf1, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x0b, 0x22, 0x82, 0xd3,
	0x1a, 0x00, 0x00,
}