mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 19:32:17 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			1499 lines
		
	
	
		
			55 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			1499 lines
		
	
	
		
			55 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
						|
// versions:
 | 
						|
// 	protoc-gen-go v1.26.0
 | 
						|
// 	protoc        v3.19.3
 | 
						|
// source: statistics/statistics.proto
 | 
						|
 | 
						|
package statistics
 | 
						|
 | 
						|
import (
 | 
						|
	context "context"
 | 
						|
	grpc "google.golang.org/grpc"
 | 
						|
	codes "google.golang.org/grpc/codes"
 | 
						|
	status "google.golang.org/grpc/status"
 | 
						|
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
						|
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
						|
	reflect "reflect"
 | 
						|
	sync "sync"
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	// Verify that this generated code is sufficiently up-to-date.
 | 
						|
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
						|
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
						|
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
						|
)
 | 
						|
 | 
						|
type StatisticsReq struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
 | 
						|
	To   string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *StatisticsReq) Reset() {
 | 
						|
	*x = StatisticsReq{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[0]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *StatisticsReq) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*StatisticsReq) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *StatisticsReq) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[0]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use StatisticsReq.ProtoReflect.Descriptor instead.
 | 
						|
func (*StatisticsReq) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *StatisticsReq) GetFrom() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.From
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *StatisticsReq) GetTo() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.To
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type GetActiveUserReq struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"`
 | 
						|
	OperationID   string         `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveUserReq) Reset() {
 | 
						|
	*x = GetActiveUserReq{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[1]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveUserReq) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetActiveUserReq) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetActiveUserReq) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[1]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetActiveUserReq.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetActiveUserReq) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{1}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveUserReq) GetStatisticsReq() *StatisticsReq {
 | 
						|
	if x != nil {
 | 
						|
		return x.StatisticsReq
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveUserReq) GetOperationID() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OperationID
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type UserResp struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	NickName   string `protobuf:"bytes,1,opt,name=NickName,proto3" json:"NickName,omitempty"`
 | 
						|
	UserId     string `protobuf:"bytes,2,opt,name=UserId,proto3" json:"UserId,omitempty"`
 | 
						|
	MessageNum int32  `protobuf:"varint,3,opt,name=MessageNum,proto3" json:"MessageNum,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *UserResp) Reset() {
 | 
						|
	*x = UserResp{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[2]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *UserResp) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*UserResp) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *UserResp) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[2]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use UserResp.ProtoReflect.Descriptor instead.
 | 
						|
func (*UserResp) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{2}
 | 
						|
}
 | 
						|
 | 
						|
func (x *UserResp) GetNickName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.NickName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *UserResp) GetUserId() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.UserId
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *UserResp) GetMessageNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MessageNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
type GetActiveUserResp struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	Users []*UserResp `protobuf:"bytes,1,rep,name=Users,proto3" json:"Users,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveUserResp) Reset() {
 | 
						|
	*x = GetActiveUserResp{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[3]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveUserResp) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetActiveUserResp) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetActiveUserResp) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[3]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetActiveUserResp.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetActiveUserResp) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{3}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveUserResp) GetUsers() []*UserResp {
 | 
						|
	if x != nil {
 | 
						|
		return x.Users
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type GetActiveGroupReq struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"`
 | 
						|
	OperationID   string         `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveGroupReq) Reset() {
 | 
						|
	*x = GetActiveGroupReq{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[4]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveGroupReq) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetActiveGroupReq) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetActiveGroupReq) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[4]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetActiveGroupReq.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetActiveGroupReq) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{4}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq {
 | 
						|
	if x != nil {
 | 
						|
		return x.StatisticsReq
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveGroupReq) GetOperationID() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OperationID
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type GroupResp struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	GroupName  string `protobuf:"bytes,1,opt,name=GroupName,proto3" json:"GroupName,omitempty"`
 | 
						|
	GroupId    string `protobuf:"bytes,2,opt,name=GroupId,proto3" json:"GroupId,omitempty"`
 | 
						|
	MessageNum int32  `protobuf:"varint,3,opt,name=MessageNum,proto3" json:"MessageNum,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GroupResp) Reset() {
 | 
						|
	*x = GroupResp{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[5]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GroupResp) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GroupResp) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GroupResp) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[5]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GroupResp.ProtoReflect.Descriptor instead.
 | 
						|
func (*GroupResp) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{5}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GroupResp) GetGroupName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.GroupName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *GroupResp) GetGroupId() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.GroupId
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *GroupResp) GetMessageNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MessageNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
type GetActiveGroupResp struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups,proto3" json:"Groups,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveGroupResp) Reset() {
 | 
						|
	*x = GetActiveGroupResp{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[6]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveGroupResp) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetActiveGroupResp) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetActiveGroupResp) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[6]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetActiveGroupResp.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetActiveGroupResp) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{6}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetActiveGroupResp) GetGroups() []*GroupResp {
 | 
						|
	if x != nil {
 | 
						|
		return x.Groups
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type DateNumList struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	Date string `protobuf:"bytes,1,opt,name=Date,proto3" json:"Date,omitempty"`
 | 
						|
	Num  int32  `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *DateNumList) Reset() {
 | 
						|
	*x = DateNumList{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[7]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *DateNumList) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*DateNumList) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *DateNumList) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[7]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use DateNumList.ProtoReflect.Descriptor instead.
 | 
						|
func (*DateNumList) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{7}
 | 
						|
}
 | 
						|
 | 
						|
func (x *DateNumList) GetDate() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Date
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *DateNumList) GetNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Num
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
type GetMessageStatisticsReq struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"`
 | 
						|
	OperationID   string         `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsReq) Reset() {
 | 
						|
	*x = GetMessageStatisticsReq{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[8]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsReq) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetMessageStatisticsReq) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsReq) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[8]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetMessageStatisticsReq.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{8}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq {
 | 
						|
	if x != nil {
 | 
						|
		return x.StatisticsReq
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsReq) GetOperationID() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OperationID
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type GetMessageStatisticsResp struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	PrivateMessageNum     int32          `protobuf:"varint,1,opt,name=PrivateMessageNum,proto3" json:"PrivateMessageNum,omitempty"`
 | 
						|
	GroupMessageNum       int32          `protobuf:"varint,2,opt,name=GroupMessageNum,proto3" json:"GroupMessageNum,omitempty"`
 | 
						|
	PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList,proto3" json:"PrivateMessageNumList,omitempty"`
 | 
						|
	GroupMessageNumList   []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList,proto3" json:"GroupMessageNumList,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsResp) Reset() {
 | 
						|
	*x = GetMessageStatisticsResp{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[9]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsResp) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetMessageStatisticsResp) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsResp) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[9]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetMessageStatisticsResp.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{9}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsResp) GetPrivateMessageNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.PrivateMessageNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsResp) GetGroupMessageNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.GroupMessageNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsResp) GetPrivateMessageNumList() []*DateNumList {
 | 
						|
	if x != nil {
 | 
						|
		return x.PrivateMessageNumList
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetMessageStatisticsResp) GetGroupMessageNumList() []*DateNumList {
 | 
						|
	if x != nil {
 | 
						|
		return x.GroupMessageNumList
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type GetGroupStatisticsReq struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"`
 | 
						|
	OperationID   string         `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsReq) Reset() {
 | 
						|
	*x = GetGroupStatisticsReq{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[10]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsReq) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetGroupStatisticsReq) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsReq) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[10]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetGroupStatisticsReq.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{10}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsReq) GetStatisticsReq() *StatisticsReq {
 | 
						|
	if x != nil {
 | 
						|
		return x.StatisticsReq
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsReq) GetOperationID() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OperationID
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type GetGroupStatisticsResp struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	IncreaseGroupNum     int32          `protobuf:"varint,1,opt,name=IncreaseGroupNum,proto3" json:"IncreaseGroupNum,omitempty"`
 | 
						|
	TotalGroupNum        int32          `protobuf:"varint,2,opt,name=TotalGroupNum,proto3" json:"TotalGroupNum,omitempty"`
 | 
						|
	IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList,proto3" json:"IncreaseGroupNumList,omitempty"`
 | 
						|
	TotalGroupNumList    []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList,proto3" json:"TotalGroupNumList,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsResp) Reset() {
 | 
						|
	*x = GetGroupStatisticsResp{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[11]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsResp) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetGroupStatisticsResp) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsResp) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[11]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetGroupStatisticsResp.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{11}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsResp) GetIncreaseGroupNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.IncreaseGroupNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsResp) GetTotalGroupNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.TotalGroupNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsResp) GetIncreaseGroupNumList() []*DateNumList {
 | 
						|
	if x != nil {
 | 
						|
		return x.IncreaseGroupNumList
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetGroupStatisticsResp) GetTotalGroupNumList() []*DateNumList {
 | 
						|
	if x != nil {
 | 
						|
		return x.TotalGroupNumList
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type GetUserStatisticsReq struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"`
 | 
						|
	OperationID   string         `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsReq) Reset() {
 | 
						|
	*x = GetUserStatisticsReq{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[12]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsReq) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetUserStatisticsReq) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetUserStatisticsReq) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[12]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetUserStatisticsReq.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{12}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq {
 | 
						|
	if x != nil {
 | 
						|
		return x.StatisticsReq
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsReq) GetOperationID() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OperationID
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type GetUserStatisticsResp struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	IncreaseUserNum     int32          `protobuf:"varint,1,opt,name=IncreaseUserNum,proto3" json:"IncreaseUserNum,omitempty"`
 | 
						|
	ActiveUserNum       int32          `protobuf:"varint,2,opt,name=ActiveUserNum,proto3" json:"ActiveUserNum,omitempty"`
 | 
						|
	TotalUserNum        int32          `protobuf:"varint,3,opt,name=TotalUserNum,proto3" json:"TotalUserNum,omitempty"`
 | 
						|
	IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList,proto3" json:"IncreaseUserNumList,omitempty"`
 | 
						|
	ActiveUserNumList   []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList,proto3" json:"ActiveUserNumList,omitempty"`
 | 
						|
	TotalUserNumList    []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList,proto3" json:"TotalUserNumList,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) Reset() {
 | 
						|
	*x = GetUserStatisticsResp{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_statistics_statistics_proto_msgTypes[13]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*GetUserStatisticsResp) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_statistics_statistics_proto_msgTypes[13]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use GetUserStatisticsResp.ProtoReflect.Descriptor instead.
 | 
						|
func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) {
 | 
						|
	return file_statistics_statistics_proto_rawDescGZIP(), []int{13}
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) GetIncreaseUserNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.IncreaseUserNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) GetActiveUserNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.ActiveUserNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) GetTotalUserNum() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.TotalUserNum
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) GetIncreaseUserNumList() []*DateNumList {
 | 
						|
	if x != nil {
 | 
						|
		return x.IncreaseUserNumList
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) GetActiveUserNumList() []*DateNumList {
 | 
						|
	if x != nil {
 | 
						|
		return x.ActiveUserNumList
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *GetUserStatisticsResp) GetTotalUserNumList() []*DateNumList {
 | 
						|
	if x != nil {
 | 
						|
		return x.TotalUserNumList
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
var File_statistics_statistics_proto protoreflect.FileDescriptor
 | 
						|
 | 
						|
var file_statistics_statistics_proto_rawDesc = []byte{
 | 
						|
	0x0a, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x73, 0x74, 0x61,
 | 
						|
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x73,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x33, 0x0a, 0x0d, 0x53, 0x74, 0x61,
 | 
						|
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72,
 | 
						|
	0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e,
 | 
						|
	0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x22, 0x75,
 | 
						|
	0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52,
 | 
						|
	0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
 | 
						|
	0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74,
 | 
						|
	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
 | 
						|
	0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
 | 
						|
	0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
 | 
						|
	0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
 | 
						|
	0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x5e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73,
 | 
						|
	0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
 | 
						|
	0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
 | 
						|
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55,
 | 
						|
	0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
						|
	0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61,
 | 
						|
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x3f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69,
 | 
						|
	0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x55, 0x73,
 | 
						|
	0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74,
 | 
						|
	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x52,
 | 
						|
	0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x22, 0x76, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74,
 | 
						|
	0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01,
 | 
						|
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e,
 | 
						|
	0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b,
 | 
						|
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
						|
	0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x63,
 | 
						|
	0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x47,
 | 
						|
	0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
 | 
						|
	0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f,
 | 
						|
	0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75,
 | 
						|
	0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75,
 | 
						|
	0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
						|
	0x4e, 0x75, 0x6d, 0x22, 0x43, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
 | 
						|
	0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x06, 0x47, 0x72, 0x6f,
 | 
						|
	0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x74, 0x61, 0x74,
 | 
						|
	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70,
 | 
						|
	0x52, 0x06, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x65,
 | 
						|
	0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18,
 | 
						|
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e,
 | 
						|
	0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x7c, 0x0a,
 | 
						|
	0x17, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69,
 | 
						|
	0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74,
 | 
						|
	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
 | 
						|
	0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61,
 | 
						|
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74,
 | 
						|
	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65,
 | 
						|
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
 | 
						|
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x8c, 0x02, 0x0a, 0x18,
 | 
						|
	0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
 | 
						|
	0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76,
 | 
						|
	0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20,
 | 
						|
	0x01, 0x28, 0x05, 0x52, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73,
 | 
						|
	0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d,
 | 
						|
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
 | 
						|
	0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d,
 | 
						|
	0x12, 0x4d, 0x0a, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
 | 
						|
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
 | 
						|
	0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74,
 | 
						|
	0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
 | 
						|
	0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
 | 
						|
	0x49, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e,
 | 
						|
	0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75,
 | 
						|
	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73,
 | 
						|
	0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7a, 0x0a, 0x15, 0x47, 0x65,
 | 
						|
	0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
 | 
						|
	0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
 | 
						|
	0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61,
 | 
						|
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
 | 
						|
	0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
 | 
						|
	0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
 | 
						|
	0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61,
 | 
						|
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xfe, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72,
 | 
						|
	0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73,
 | 
						|
	0x70, 0x12, 0x2a, 0x0a, 0x10, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f,
 | 
						|
	0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x49, 0x6e, 0x63,
 | 
						|
	0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a,
 | 
						|
	0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x02,
 | 
						|
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70,
 | 
						|
	0x4e, 0x75, 0x6d, 0x12, 0x4b, 0x0a, 0x14, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47,
 | 
						|
	0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28,
 | 
						|
	0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44,
 | 
						|
	0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x14, 0x49, 0x6e, 0x63, 0x72,
 | 
						|
	0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74,
 | 
						|
	0x12, 0x45, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75,
 | 
						|
	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74,
 | 
						|
	0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d,
 | 
						|
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70,
 | 
						|
	0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x79, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73,
 | 
						|
	0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12,
 | 
						|
	0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71,
 | 
						|
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
 | 
						|
	0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65,
 | 
						|
	0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71,
 | 
						|
	0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18,
 | 
						|
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
 | 
						|
	0x49, 0x44, 0x22, 0xe2, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74,
 | 
						|
	0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x0f,
 | 
						|
	0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18,
 | 
						|
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55,
 | 
						|
	0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
 | 
						|
	0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x41,
 | 
						|
	0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c,
 | 
						|
	0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01,
 | 
						|
	0x28, 0x05, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d,
 | 
						|
	0x12, 0x49, 0x0a, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72,
 | 
						|
	0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
 | 
						|
	0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e,
 | 
						|
	0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65,
 | 
						|
	0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x41,
 | 
						|
	0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74,
 | 
						|
	0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
 | 
						|
	0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52,
 | 
						|
	0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69,
 | 
						|
	0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e,
 | 
						|
	0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75,
 | 
						|
	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72,
 | 
						|
	0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x32, 0xbf, 0x03, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72,
 | 
						|
	0x12, 0x4c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65,
 | 
						|
	0x72, 0x12, 0x1c, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47,
 | 
						|
	0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a,
 | 
						|
	0x1d, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74,
 | 
						|
	0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f,
 | 
						|
	0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
 | 
						|
	0x12, 0x1d, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65,
 | 
						|
	0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a,
 | 
						|
	0x1e, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74,
 | 
						|
	0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12,
 | 
						|
	0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61,
 | 
						|
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73,
 | 
						|
	0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x73,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73,
 | 
						|
	0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65,
 | 
						|
	0x73, 0x70, 0x12, 0x5b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74,
 | 
						|
	0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69,
 | 
						|
	0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74,
 | 
						|
	0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x73, 0x74,
 | 
						|
	0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75,
 | 
						|
	0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12,
 | 
						|
	0x58, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
 | 
						|
	0x74, 0x69, 0x63, 0x73, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
 | 
						|
	0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
 | 
						|
	0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
 | 
						|
	0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69,
 | 
						|
	0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x19, 0x5a, 0x17, 0x2e, 0x2f, 0x73,
 | 
						|
	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73,
 | 
						|
	0x74, 0x69, 0x63, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						|
}
 | 
						|
 | 
						|
var (
 | 
						|
	file_statistics_statistics_proto_rawDescOnce sync.Once
 | 
						|
	file_statistics_statistics_proto_rawDescData = file_statistics_statistics_proto_rawDesc
 | 
						|
)
 | 
						|
 | 
						|
func file_statistics_statistics_proto_rawDescGZIP() []byte {
 | 
						|
	file_statistics_statistics_proto_rawDescOnce.Do(func() {
 | 
						|
		file_statistics_statistics_proto_rawDescData = protoimpl.X.CompressGZIP(file_statistics_statistics_proto_rawDescData)
 | 
						|
	})
 | 
						|
	return file_statistics_statistics_proto_rawDescData
 | 
						|
}
 | 
						|
 | 
						|
var file_statistics_statistics_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
 | 
						|
var file_statistics_statistics_proto_goTypes = []interface{}{
 | 
						|
	(*StatisticsReq)(nil),            // 0: statistics.StatisticsReq
 | 
						|
	(*GetActiveUserReq)(nil),         // 1: statistics.GetActiveUserReq
 | 
						|
	(*UserResp)(nil),                 // 2: statistics.UserResp
 | 
						|
	(*GetActiveUserResp)(nil),        // 3: statistics.GetActiveUserResp
 | 
						|
	(*GetActiveGroupReq)(nil),        // 4: statistics.GetActiveGroupReq
 | 
						|
	(*GroupResp)(nil),                // 5: statistics.GroupResp
 | 
						|
	(*GetActiveGroupResp)(nil),       // 6: statistics.GetActiveGroupResp
 | 
						|
	(*DateNumList)(nil),              // 7: statistics.DateNumList
 | 
						|
	(*GetMessageStatisticsReq)(nil),  // 8: statistics.GetMessageStatisticsReq
 | 
						|
	(*GetMessageStatisticsResp)(nil), // 9: statistics.GetMessageStatisticsResp
 | 
						|
	(*GetGroupStatisticsReq)(nil),    // 10: statistics.GetGroupStatisticsReq
 | 
						|
	(*GetGroupStatisticsResp)(nil),   // 11: statistics.GetGroupStatisticsResp
 | 
						|
	(*GetUserStatisticsReq)(nil),     // 12: statistics.GetUserStatisticsReq
 | 
						|
	(*GetUserStatisticsResp)(nil),    // 13: statistics.GetUserStatisticsResp
 | 
						|
}
 | 
						|
var file_statistics_statistics_proto_depIdxs = []int32{
 | 
						|
	0,  // 0: statistics.GetActiveUserReq.StatisticsReq:type_name -> statistics.StatisticsReq
 | 
						|
	2,  // 1: statistics.GetActiveUserResp.Users:type_name -> statistics.UserResp
 | 
						|
	0,  // 2: statistics.GetActiveGroupReq.StatisticsReq:type_name -> statistics.StatisticsReq
 | 
						|
	5,  // 3: statistics.GetActiveGroupResp.Groups:type_name -> statistics.GroupResp
 | 
						|
	0,  // 4: statistics.GetMessageStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq
 | 
						|
	7,  // 5: statistics.GetMessageStatisticsResp.PrivateMessageNumList:type_name -> statistics.DateNumList
 | 
						|
	7,  // 6: statistics.GetMessageStatisticsResp.GroupMessageNumList:type_name -> statistics.DateNumList
 | 
						|
	0,  // 7: statistics.GetGroupStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq
 | 
						|
	7,  // 8: statistics.GetGroupStatisticsResp.IncreaseGroupNumList:type_name -> statistics.DateNumList
 | 
						|
	7,  // 9: statistics.GetGroupStatisticsResp.TotalGroupNumList:type_name -> statistics.DateNumList
 | 
						|
	0,  // 10: statistics.GetUserStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq
 | 
						|
	7,  // 11: statistics.GetUserStatisticsResp.IncreaseUserNumList:type_name -> statistics.DateNumList
 | 
						|
	7,  // 12: statistics.GetUserStatisticsResp.ActiveUserNumList:type_name -> statistics.DateNumList
 | 
						|
	7,  // 13: statistics.GetUserStatisticsResp.TotalUserNumList:type_name -> statistics.DateNumList
 | 
						|
	1,  // 14: statistics.user.GetActiveUser:input_type -> statistics.GetActiveUserReq
 | 
						|
	4,  // 15: statistics.user.GetActiveGroup:input_type -> statistics.GetActiveGroupReq
 | 
						|
	8,  // 16: statistics.user.GetMessageStatistics:input_type -> statistics.GetMessageStatisticsReq
 | 
						|
	10, // 17: statistics.user.GetGroupStatistics:input_type -> statistics.GetGroupStatisticsReq
 | 
						|
	12, // 18: statistics.user.GetUserStatistics:input_type -> statistics.GetUserStatisticsReq
 | 
						|
	3,  // 19: statistics.user.GetActiveUser:output_type -> statistics.GetActiveUserResp
 | 
						|
	6,  // 20: statistics.user.GetActiveGroup:output_type -> statistics.GetActiveGroupResp
 | 
						|
	9,  // 21: statistics.user.GetMessageStatistics:output_type -> statistics.GetMessageStatisticsResp
 | 
						|
	11, // 22: statistics.user.GetGroupStatistics:output_type -> statistics.GetGroupStatisticsResp
 | 
						|
	13, // 23: statistics.user.GetUserStatistics:output_type -> statistics.GetUserStatisticsResp
 | 
						|
	19, // [19:24] is the sub-list for method output_type
 | 
						|
	14, // [14:19] is the sub-list for method input_type
 | 
						|
	14, // [14:14] is the sub-list for extension type_name
 | 
						|
	14, // [14:14] is the sub-list for extension extendee
 | 
						|
	0,  // [0:14] is the sub-list for field type_name
 | 
						|
}
 | 
						|
 | 
						|
func init() { file_statistics_statistics_proto_init() }
 | 
						|
func file_statistics_statistics_proto_init() {
 | 
						|
	if File_statistics_statistics_proto != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	if !protoimpl.UnsafeEnabled {
 | 
						|
		file_statistics_statistics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*StatisticsReq); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetActiveUserReq); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*UserResp); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetActiveUserResp); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetActiveGroupReq); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GroupResp); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetActiveGroupResp); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*DateNumList); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetMessageStatisticsReq); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetMessageStatisticsResp); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetGroupStatisticsReq); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetGroupStatisticsResp); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetUserStatisticsReq); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_statistics_statistics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*GetUserStatisticsResp); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	type x struct{}
 | 
						|
	out := protoimpl.TypeBuilder{
 | 
						|
		File: protoimpl.DescBuilder{
 | 
						|
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
						|
			RawDescriptor: file_statistics_statistics_proto_rawDesc,
 | 
						|
			NumEnums:      0,
 | 
						|
			NumMessages:   14,
 | 
						|
			NumExtensions: 0,
 | 
						|
			NumServices:   1,
 | 
						|
		},
 | 
						|
		GoTypes:           file_statistics_statistics_proto_goTypes,
 | 
						|
		DependencyIndexes: file_statistics_statistics_proto_depIdxs,
 | 
						|
		MessageInfos:      file_statistics_statistics_proto_msgTypes,
 | 
						|
	}.Build()
 | 
						|
	File_statistics_statistics_proto = out.File
 | 
						|
	file_statistics_statistics_proto_rawDesc = nil
 | 
						|
	file_statistics_statistics_proto_goTypes = nil
 | 
						|
	file_statistics_statistics_proto_depIdxs = nil
 | 
						|
}
 | 
						|
 | 
						|
// Reference imports to suppress errors if they are not otherwise used.
 | 
						|
var _ context.Context
 | 
						|
var _ grpc.ClientConnInterface
 | 
						|
 | 
						|
// This is a compile-time assertion to ensure that this generated file
 | 
						|
// is compatible with the grpc package it is being compiled against.
 | 
						|
const _ = grpc.SupportPackageIsVersion6
 | 
						|
 | 
						|
// UserClient is the client API for User service.
 | 
						|
//
 | 
						|
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
						|
type UserClient interface {
 | 
						|
	GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error)
 | 
						|
	GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error)
 | 
						|
	GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error)
 | 
						|
	GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error)
 | 
						|
	GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error)
 | 
						|
}
 | 
						|
 | 
						|
type userClient struct {
 | 
						|
	cc grpc.ClientConnInterface
 | 
						|
}
 | 
						|
 | 
						|
func NewUserClient(cc grpc.ClientConnInterface) UserClient {
 | 
						|
	return &userClient{cc}
 | 
						|
}
 | 
						|
 | 
						|
func (c *userClient) GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) {
 | 
						|
	out := new(GetActiveUserResp)
 | 
						|
	err := c.cc.Invoke(ctx, "/statistics.user/GetActiveUser", in, out, opts...)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return out, nil
 | 
						|
}
 | 
						|
 | 
						|
func (c *userClient) GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) {
 | 
						|
	out := new(GetActiveGroupResp)
 | 
						|
	err := c.cc.Invoke(ctx, "/statistics.user/GetActiveGroup", in, out, opts...)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return out, nil
 | 
						|
}
 | 
						|
 | 
						|
func (c *userClient) GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) {
 | 
						|
	out := new(GetMessageStatisticsResp)
 | 
						|
	err := c.cc.Invoke(ctx, "/statistics.user/GetMessageStatistics", in, out, opts...)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return out, nil
 | 
						|
}
 | 
						|
 | 
						|
func (c *userClient) GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) {
 | 
						|
	out := new(GetGroupStatisticsResp)
 | 
						|
	err := c.cc.Invoke(ctx, "/statistics.user/GetGroupStatistics", in, out, opts...)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return out, nil
 | 
						|
}
 | 
						|
 | 
						|
func (c *userClient) GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) {
 | 
						|
	out := new(GetUserStatisticsResp)
 | 
						|
	err := c.cc.Invoke(ctx, "/statistics.user/GetUserStatistics", in, out, opts...)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return out, nil
 | 
						|
}
 | 
						|
 | 
						|
// UserServer is the server API for User service.
 | 
						|
type UserServer interface {
 | 
						|
	GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error)
 | 
						|
	GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error)
 | 
						|
	GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error)
 | 
						|
	GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error)
 | 
						|
	GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error)
 | 
						|
}
 | 
						|
 | 
						|
// UnimplementedUserServer can be embedded to have forward compatible implementations.
 | 
						|
type UnimplementedUserServer struct {
 | 
						|
}
 | 
						|
 | 
						|
func (*UnimplementedUserServer) GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) {
 | 
						|
	return nil, status.Errorf(codes.Unimplemented, "method GetActiveUser not implemented")
 | 
						|
}
 | 
						|
func (*UnimplementedUserServer) GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) {
 | 
						|
	return nil, status.Errorf(codes.Unimplemented, "method GetActiveGroup not implemented")
 | 
						|
}
 | 
						|
func (*UnimplementedUserServer) GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) {
 | 
						|
	return nil, status.Errorf(codes.Unimplemented, "method GetMessageStatistics not implemented")
 | 
						|
}
 | 
						|
func (*UnimplementedUserServer) GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) {
 | 
						|
	return nil, status.Errorf(codes.Unimplemented, "method GetGroupStatistics not implemented")
 | 
						|
}
 | 
						|
func (*UnimplementedUserServer) GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) {
 | 
						|
	return nil, status.Errorf(codes.Unimplemented, "method GetUserStatistics not implemented")
 | 
						|
}
 | 
						|
 | 
						|
func RegisterUserServer(s *grpc.Server, srv UserServer) {
 | 
						|
	s.RegisterService(&_User_serviceDesc, srv)
 | 
						|
}
 | 
						|
 | 
						|
func _User_GetActiveUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						|
	in := new(GetActiveUserReq)
 | 
						|
	if err := dec(in); err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	if interceptor == nil {
 | 
						|
		return srv.(UserServer).GetActiveUser(ctx, in)
 | 
						|
	}
 | 
						|
	info := &grpc.UnaryServerInfo{
 | 
						|
		Server:     srv,
 | 
						|
		FullMethod: "/statistics.user/GetActiveUser",
 | 
						|
	}
 | 
						|
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						|
		return srv.(UserServer).GetActiveUser(ctx, req.(*GetActiveUserReq))
 | 
						|
	}
 | 
						|
	return interceptor(ctx, in, info, handler)
 | 
						|
}
 | 
						|
 | 
						|
func _User_GetActiveGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						|
	in := new(GetActiveGroupReq)
 | 
						|
	if err := dec(in); err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	if interceptor == nil {
 | 
						|
		return srv.(UserServer).GetActiveGroup(ctx, in)
 | 
						|
	}
 | 
						|
	info := &grpc.UnaryServerInfo{
 | 
						|
		Server:     srv,
 | 
						|
		FullMethod: "/statistics.user/GetActiveGroup",
 | 
						|
	}
 | 
						|
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						|
		return srv.(UserServer).GetActiveGroup(ctx, req.(*GetActiveGroupReq))
 | 
						|
	}
 | 
						|
	return interceptor(ctx, in, info, handler)
 | 
						|
}
 | 
						|
 | 
						|
func _User_GetMessageStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						|
	in := new(GetMessageStatisticsReq)
 | 
						|
	if err := dec(in); err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	if interceptor == nil {
 | 
						|
		return srv.(UserServer).GetMessageStatistics(ctx, in)
 | 
						|
	}
 | 
						|
	info := &grpc.UnaryServerInfo{
 | 
						|
		Server:     srv,
 | 
						|
		FullMethod: "/statistics.user/GetMessageStatistics",
 | 
						|
	}
 | 
						|
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						|
		return srv.(UserServer).GetMessageStatistics(ctx, req.(*GetMessageStatisticsReq))
 | 
						|
	}
 | 
						|
	return interceptor(ctx, in, info, handler)
 | 
						|
}
 | 
						|
 | 
						|
func _User_GetGroupStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						|
	in := new(GetGroupStatisticsReq)
 | 
						|
	if err := dec(in); err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	if interceptor == nil {
 | 
						|
		return srv.(UserServer).GetGroupStatistics(ctx, in)
 | 
						|
	}
 | 
						|
	info := &grpc.UnaryServerInfo{
 | 
						|
		Server:     srv,
 | 
						|
		FullMethod: "/statistics.user/GetGroupStatistics",
 | 
						|
	}
 | 
						|
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						|
		return srv.(UserServer).GetGroupStatistics(ctx, req.(*GetGroupStatisticsReq))
 | 
						|
	}
 | 
						|
	return interceptor(ctx, in, info, handler)
 | 
						|
}
 | 
						|
 | 
						|
func _User_GetUserStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
						|
	in := new(GetUserStatisticsReq)
 | 
						|
	if err := dec(in); err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	if interceptor == nil {
 | 
						|
		return srv.(UserServer).GetUserStatistics(ctx, in)
 | 
						|
	}
 | 
						|
	info := &grpc.UnaryServerInfo{
 | 
						|
		Server:     srv,
 | 
						|
		FullMethod: "/statistics.user/GetUserStatistics",
 | 
						|
	}
 | 
						|
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
						|
		return srv.(UserServer).GetUserStatistics(ctx, req.(*GetUserStatisticsReq))
 | 
						|
	}
 | 
						|
	return interceptor(ctx, in, info, handler)
 | 
						|
}
 | 
						|
 | 
						|
var _User_serviceDesc = grpc.ServiceDesc{
 | 
						|
	ServiceName: "statistics.user",
 | 
						|
	HandlerType: (*UserServer)(nil),
 | 
						|
	Methods: []grpc.MethodDesc{
 | 
						|
		{
 | 
						|
			MethodName: "GetActiveUser",
 | 
						|
			Handler:    _User_GetActiveUser_Handler,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			MethodName: "GetActiveGroup",
 | 
						|
			Handler:    _User_GetActiveGroup_Handler,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			MethodName: "GetMessageStatistics",
 | 
						|
			Handler:    _User_GetMessageStatistics_Handler,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			MethodName: "GetGroupStatistics",
 | 
						|
			Handler:    _User_GetGroupStatistics_Handler,
 | 
						|
		},
 | 
						|
		{
 | 
						|
			MethodName: "GetUserStatistics",
 | 
						|
			Handler:    _User_GetUserStatistics_Handler,
 | 
						|
		},
 | 
						|
	},
 | 
						|
	Streams:  []grpc.StreamDesc{},
 | 
						|
	Metadata: "statistics/statistics.proto",
 | 
						|
}
 |