From 797a912b6d3fa5060d39089475a1b1ddaf737b22 Mon Sep 17 00:00:00 2001 From: Mrs4s Date: Fri, 26 Nov 2021 09:54:46 +0800 Subject: [PATCH] protocol: update protobuf files & save work progress --- client/builders.go | 8 +- client/client.go | 5 + client/decoders.go | 4 +- client/global.go | 10 + client/guild.go | 63 +- client/pb/channel/GuildChannelBase.pb.go | 879 ++ client/pb/channel/GuildChannelBase.proto | 75 + client/pb/channel/GuildFeedCloudMeta.pb.go | 8365 ++++++++++++++++++++ client/pb/channel/GuildFeedCloudMeta.proto | 652 ++ client/pb/channel/GuildFeedCloudRead.pb.go | 1251 +++ client/pb/channel/GuildFeedCloudRead.proto | 93 + client/pb/channel/MsgResponsesSvr.pb.go | 92 +- client/pb/channel/MsgResponsesSvr.proto | 1 + client/pb/qweb/protocol.pb.go | 439 +- client/pb/qweb/protocol.proto | 48 +- 15 files changed, 11880 insertions(+), 105 deletions(-) create mode 100644 client/pb/channel/GuildChannelBase.pb.go create mode 100644 client/pb/channel/GuildChannelBase.proto create mode 100644 client/pb/channel/GuildFeedCloudMeta.pb.go create mode 100644 client/pb/channel/GuildFeedCloudMeta.proto create mode 100644 client/pb/channel/GuildFeedCloudRead.pb.go create mode 100644 client/pb/channel/GuildFeedCloudRead.proto diff --git a/client/builders.go b/client/builders.go index a98df673..15e22ac5 100644 --- a/client/builders.go +++ b/client/builders.go @@ -1076,11 +1076,11 @@ func (c *QQClient) buildAppInfoRequestPacket(id string) (uint16, []byte) { } b, _ := proto.Marshal(req) body := &qweb.QWebReq{ - Seq: 1, - Qua: "V1_AND_SQ_8.4.8_1492_YYB_D", - DeviceInfo: fmt.Sprintf("i=865166025905020&imsi=460002478794049&mac=02:00:00:00:00:00&m=%v&o=7.1.2&a=25&sc=1&sd=0&p=900*1600&f=nubia&mm=3479&cf=2407&cc=4&aid=086bbf84a7d5fbb3&qimei=865166023450458&sharpP=1&n=wifi", string(c.deviceInfo.Model)), + Seq: proto.Int64(1), + Qua: proto.String("V1_AND_SQ_8.4.8_1492_YYB_D"), + DeviceInfo: proto.String(c.getWebDeviceInfo()), BusiBuff: b, - TraceId: fmt.Sprintf("%v_%v_%v", c.Uin, time.Now().Format("0102150405"), rand.Int63()), + TraceId: proto.String(fmt.Sprintf("%v_%v_%v", c.Uin, time.Now().Format("0102150405"), rand.Int63())), } payload, _ := proto.Marshal(body) packet := packets.BuildUniPacket(c.Uin, seq, "LightAppSvc.mini_app_info.GetAppInfoById", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) diff --git a/client/client.go b/client/client.go index 39f26966..9c9a17b2 100644 --- a/client/client.go +++ b/client/client.go @@ -82,6 +82,7 @@ type QQClient struct { ksid []byte // session info + qwebSeq int64 sigInfo *loginSigInfo bigDataSession *bigDataSessionInfo dpwd []byte @@ -861,6 +862,10 @@ func (c *QQClient) nextFriendSeq() int32 { return atomic.AddInt32(&c.friendSeq, 1) } +func (c *QQClient) nextQWebSeq() int64 { + return atomic.AddInt64(&c.qwebSeq, 1) +} + func (c *QQClient) nextGroupDataTransSeq() int32 { return atomic.AddInt32(&c.groupDataTransSeq, 2) } diff --git a/client/decoders.go b/client/decoders.go index a1f45a15..1b489e5a 100644 --- a/client/decoders.go +++ b/client/decoders.go @@ -810,8 +810,8 @@ func decodeAppInfoResponse(_ *QQClient, _ *incomingPacketInfo, payload []byte) ( if err := proto.Unmarshal(payload, &pkg); err != nil { return nil, errors.Wrap(err, "failed to unmarshal protobuf message") } - if pkg.RetCode != 0 { - return nil, errors.New(pkg.ErrMsg) + if pkg.GetRetCode() != 0 { + return nil, errors.New(pkg.GetErrMsg()) } if err := proto.Unmarshal(pkg.BusiBuff, &rsp); err != nil { return nil, errors.Wrap(err, "failed to unmarshal protobuf message") diff --git a/client/global.go b/client/global.go index 56d24df8..73faf6d3 100644 --- a/client/global.go +++ b/client/global.go @@ -643,6 +643,16 @@ func (p requestParams) int32(k string) int32 { return i.(int32) } +func (c *QQClient) getWebDeviceInfo() (i string) { + qimei := strings.ToLower(utils.RandomString(36)) + i += fmt.Sprintf("i=%v&imsi=&mac=%v&m=%v&o=%v&", c.deviceInfo.IMEI, utils.B2S(c.deviceInfo.MacAddress), utils.B2S(c.deviceInfo.Device), utils.B2S(c.deviceInfo.Version.Release)) + i += fmt.Sprintf("a=%v&sd=0&c64=0&sc=1&p=1080*2210&aid=%v&", c.deviceInfo.Version.Sdk, c.deviceInfo.IMEI) + i += fmt.Sprintf("f=%v&mm=%v&cf=%v&cc=%v&", c.deviceInfo.Brand, 5629 /* Total Memory*/, 1725 /* CPU Frequency */, 8 /* CPU Core Count */) + i += fmt.Sprintf("qimei=%v&qimei36=%v&", qimei, qimei) + i += "sharpP=1&n=wifi&support_xsj_live=true&client_mod=default&timezone=Asia/Shanghai&material_sdk_version=2.9.0&vh265=null&refreshrate=60" + return +} + func (c *QQClient) packOIDBPackage(cmd, serviceType int32, body []byte) []byte { pkg := &oidb.OIDBSSOPkg{ Command: cmd, diff --git a/client/guild.go b/client/guild.go index acb86fce..b71cf37d 100644 --- a/client/guild.go +++ b/client/guild.go @@ -2,6 +2,8 @@ package client import ( "fmt" + "github.com/Mrs4s/MiraiGo/client/pb/qweb" + "math/rand" "sort" "time" @@ -10,8 +12,8 @@ import ( "github.com/Mrs4s/MiraiGo/binary" "github.com/Mrs4s/MiraiGo/client/pb/channel" "github.com/Mrs4s/MiraiGo/internal/packets" - "github.com/Mrs4s/MiraiGo/internal/proto" "github.com/Mrs4s/MiraiGo/utils" + "google.golang.org/protobuf/proto" ) type ( @@ -522,6 +524,65 @@ func (s *GuildService) FetchChannelInfo(guildId, channelId uint64) (*ChannelInfo return convertChannelInfo(body.Info), nil } +func (s *GuildService) GetChannelTopics(guildId, channelId uint64) error { + guild := s.FindGuild(guildId) + if guild == nil { + return errors.New("guild not found") + } + channelInfo := guild.FindChannel(channelId) + if channelInfo == nil { + return errors.New("channel not found") + } + if channelInfo.ChannelType != ChannelTypeTopic { + return errors.New("channel type error") + } + req, _ := proto.Marshal(&channel.StGetChannelFeedsReq{ + Count: proto.Uint32(12), + From: proto.Uint32(0), + ChannelSign: &channel.StChannelSign{ + GuildId: &guildId, + ChannelId: &channelId, + }, + FeedAttchInfo: proto.String(""), // isLoadMore + }) + payload, _ := proto.Marshal(&qweb.QWebReq{ + Seq: proto.Int64(s.c.nextQWebSeq()), + Qua: proto.String("V1_AND_SQ_8.8.50_2324_YYB_D"), + DeviceInfo: proto.String(s.c.getWebDeviceInfo()), + BusiBuff: req, + TraceId: proto.String(fmt.Sprintf("%v_%v_%v", s.c.Uin, time.Now().Format("0102150405"), rand.Int63())), + Extinfo: []*qweb.COMMEntry{ + { + Key: proto.String("fc-appid"), + Value: proto.String("96"), + }, + { + Key: proto.String("environment_id"), + Value: proto.String("production"), + }, + { + Key: proto.String("tiny_id"), + Value: proto.String(fmt.Sprint(s.TinyId)), + }, + }, + }) + seq := s.c.nextSeq() + packet := packets.BuildUniPacket(s.c.Uin, seq, "QChannelSvr.trpc.qchannel.commreader.ComReader.GetChannelTimelineFeeds", 1, s.c.OutGoingPacketSessionId, []byte{}, s.c.sigInfo.d2Key, payload) + rsp, err := s.c.sendAndWaitDynamic(seq, packet) + if err != nil { + return errors.New("send packet error") + } + pkg := new(qweb.QWebRsp) + body := new(channel.StGetChannelFeedsRsp) + if err = proto.Unmarshal(rsp, pkg); err != nil { + return errors.Wrap(err, "failed to unmarshal protobuf message") + } + if err = proto.Unmarshal(pkg.BusiBuff, body); err != nil { + return errors.Wrap(err, "failed to unmarshal protobuf message") + } + return nil +} + /* need analysis func (s *GuildService) fetchChannelListState(guildId uint64, channels []*ChannelInfo) { seq := s.c.nextSeq() diff --git a/client/pb/channel/GuildChannelBase.pb.go b/client/pb/channel/GuildChannelBase.pb.go new file mode 100644 index 00000000..d9196dea --- /dev/null +++ b/client/pb/channel/GuildChannelBase.pb.go @@ -0,0 +1,879 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.14.0 +// source: pb/channel/GuildChannelBase.proto + +package channel + +import ( + 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 ChannelUserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientIdentity *ClientIdentity `protobuf:"bytes,1,opt,name=clientIdentity" json:"clientIdentity,omitempty"` + MemberType *uint32 `protobuf:"varint,2,opt,name=memberType" json:"memberType,omitempty"` + Permission *ChannelUserPermission `protobuf:"bytes,3,opt,name=permission" json:"permission,omitempty"` + RoleGroups []*BaseRoleGroupInfo `protobuf:"bytes,4,rep,name=roleGroups" json:"roleGroups,omitempty"` +} + +func (x *ChannelUserInfo) Reset() { + *x = ChannelUserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelUserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelUserInfo) ProtoMessage() {} + +func (x *ChannelUserInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 ChannelUserInfo.ProtoReflect.Descriptor instead. +func (*ChannelUserInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{0} +} + +func (x *ChannelUserInfo) GetClientIdentity() *ClientIdentity { + if x != nil { + return x.ClientIdentity + } + return nil +} + +func (x *ChannelUserInfo) GetMemberType() uint32 { + if x != nil && x.MemberType != nil { + return *x.MemberType + } + return 0 +} + +func (x *ChannelUserInfo) GetPermission() *ChannelUserPermission { + if x != nil { + return x.Permission + } + return nil +} + +func (x *ChannelUserInfo) GetRoleGroups() []*BaseRoleGroupInfo { + if x != nil { + return x.RoleGroups + } + return nil +} + +type ChannelUserPermission struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AllowReadFeed *bool `protobuf:"varint,1,opt,name=allowReadFeed" json:"allowReadFeed,omitempty"` + AllowWriteFeed *bool `protobuf:"varint,2,opt,name=allowWriteFeed" json:"allowWriteFeed,omitempty"` +} + +func (x *ChannelUserPermission) Reset() { + *x = ChannelUserPermission{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelUserPermission) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelUserPermission) ProtoMessage() {} + +func (x *ChannelUserPermission) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 ChannelUserPermission.ProtoReflect.Descriptor instead. +func (*ChannelUserPermission) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{1} +} + +func (x *ChannelUserPermission) GetAllowReadFeed() bool { + if x != nil && x.AllowReadFeed != nil { + return *x.AllowReadFeed + } + return false +} + +func (x *ChannelUserPermission) GetAllowWriteFeed() bool { + if x != nil && x.AllowWriteFeed != nil { + return *x.AllowWriteFeed + } + return false +} + +type ClientIdentity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientId *uint32 `protobuf:"varint,1,opt,name=clientId" json:"clientId,omitempty"` + Desc *string `protobuf:"bytes,2,opt,name=desc" json:"desc,omitempty"` +} + +func (x *ClientIdentity) Reset() { + *x = ClientIdentity{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClientIdentity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientIdentity) ProtoMessage() {} + +func (x *ClientIdentity) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 ClientIdentity.ProtoReflect.Descriptor instead. +func (*ClientIdentity) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{2} +} + +func (x *ClientIdentity) GetClientId() uint32 { + if x != nil && x.ClientId != nil { + return *x.ClientId + } + return 0 +} + +func (x *ClientIdentity) GetDesc() string { + if x != nil && x.Desc != nil { + return *x.Desc + } + return "" +} + +type BaseGuildInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + JoinTime *uint64 `protobuf:"varint,3,opt,name=joinTime" json:"joinTime,omitempty"` +} + +func (x *BaseGuildInfo) Reset() { + *x = BaseGuildInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BaseGuildInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BaseGuildInfo) ProtoMessage() {} + +func (x *BaseGuildInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 BaseGuildInfo.ProtoReflect.Descriptor instead. +func (*BaseGuildInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{3} +} + +func (x *BaseGuildInfo) GetGuildId() uint64 { + if x != nil && x.GuildId != nil { + return *x.GuildId + } + return 0 +} + +func (x *BaseGuildInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *BaseGuildInfo) GetJoinTime() uint64 { + if x != nil && x.JoinTime != nil { + return *x.JoinTime + } + return 0 +} + +type BaseRoleGroupInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoleId *uint64 `protobuf:"varint,1,opt,name=roleId" json:"roleId,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + Color *uint32 `protobuf:"varint,3,opt,name=color" json:"color,omitempty"` +} + +func (x *BaseRoleGroupInfo) Reset() { + *x = BaseRoleGroupInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BaseRoleGroupInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BaseRoleGroupInfo) ProtoMessage() {} + +func (x *BaseRoleGroupInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 BaseRoleGroupInfo.ProtoReflect.Descriptor instead. +func (*BaseRoleGroupInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{4} +} + +func (x *BaseRoleGroupInfo) GetRoleId() uint64 { + if x != nil && x.RoleId != nil { + return *x.RoleId + } + return 0 +} + +func (x *BaseRoleGroupInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *BaseRoleGroupInfo) GetColor() uint32 { + if x != nil && x.Color != nil { + return *x.Color + } + return 0 +} + +type StChannelInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sign *StChannelSign `protobuf:"bytes,1,opt,name=sign" json:"sign,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + IconUrl *string `protobuf:"bytes,3,opt,name=iconUrl" json:"iconUrl,omitempty"` +} + +func (x *StChannelInfo) Reset() { + *x = StChannelInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StChannelInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StChannelInfo) ProtoMessage() {} + +func (x *StChannelInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 StChannelInfo.ProtoReflect.Descriptor instead. +func (*StChannelInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{5} +} + +func (x *StChannelInfo) GetSign() *StChannelSign { + if x != nil { + return x.Sign + } + return nil +} + +func (x *StChannelInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *StChannelInfo) GetIconUrl() string { + if x != nil && x.IconUrl != nil { + return *x.IconUrl + } + return "" +} + +type StChannelSign struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` + ChannelId *uint64 `protobuf:"varint,2,opt,name=channelId" json:"channelId,omitempty"` +} + +func (x *StChannelSign) Reset() { + *x = StChannelSign{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StChannelSign) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StChannelSign) ProtoMessage() {} + +func (x *StChannelSign) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 StChannelSign.ProtoReflect.Descriptor instead. +func (*StChannelSign) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{6} +} + +func (x *StChannelSign) GetGuildId() uint64 { + if x != nil && x.GuildId != nil { + return *x.GuildId + } + return 0 +} + +func (x *StChannelSign) GetChannelId() uint64 { + if x != nil && x.ChannelId != nil { + return *x.ChannelId + } + return 0 +} + +type StCommonExt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MapInfo []*CommonEntry `protobuf:"bytes,1,rep,name=mapInfo" json:"mapInfo,omitempty"` + AttachInfo *string `protobuf:"bytes,2,opt,name=attachInfo" json:"attachInfo,omitempty"` + MapBytesInfo []*BytesEntry `protobuf:"bytes,3,rep,name=mapBytesInfo" json:"mapBytesInfo,omitempty"` +} + +func (x *StCommonExt) Reset() { + *x = StCommonExt{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StCommonExt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StCommonExt) ProtoMessage() {} + +func (x *StCommonExt) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 StCommonExt.ProtoReflect.Descriptor instead. +func (*StCommonExt) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{7} +} + +func (x *StCommonExt) GetMapInfo() []*CommonEntry { + if x != nil { + return x.MapInfo + } + return nil +} + +func (x *StCommonExt) GetAttachInfo() string { + if x != nil && x.AttachInfo != nil { + return *x.AttachInfo + } + return "" +} + +func (x *StCommonExt) GetMapBytesInfo() []*BytesEntry { + if x != nil { + return x.MapBytesInfo + } + return nil +} + +type BytesEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` +} + +func (x *BytesEntry) Reset() { + *x = BytesEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BytesEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesEntry) ProtoMessage() {} + +func (x *BytesEntry) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 BytesEntry.ProtoReflect.Descriptor instead. +func (*BytesEntry) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{8} +} + +func (x *BytesEntry) GetKey() string { + if x != nil && x.Key != nil { + return *x.Key + } + return "" +} + +func (x *BytesEntry) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +type CommonEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` +} + +func (x *CommonEntry) Reset() { + *x = CommonEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildChannelBase_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonEntry) ProtoMessage() {} + +func (x *CommonEntry) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildChannelBase_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 CommonEntry.ProtoReflect.Descriptor instead. +func (*CommonEntry) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildChannelBase_proto_rawDescGZIP(), []int{9} +} + +func (x *CommonEntry) GetKey() string { + if x != nil && x.Key != nil { + return *x.Key + } + return "" +} + +func (x *CommonEntry) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +var File_pb_channel_GuildChannelBase_proto protoreflect.FileDescriptor + +var file_pb_channel_GuildChannelBase_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xee, 0x01, 0x0a, + 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x42, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x65, 0x0a, + 0x15, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, + 0x65, 0x61, 0x64, 0x46, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x46, 0x65, 0x65, 0x64, 0x22, 0x40, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x59, 0x0a, 0x0d, 0x42, 0x61, 0x73, 0x65, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0x55, 0x0a, 0x11, 0x42, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x69, 0x0a, 0x0d, 0x53, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x69, 0x67, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x52, + 0x04, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x63, 0x6f, + 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, + 0x55, 0x72, 0x6c, 0x22, 0x47, 0x0a, 0x0d, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x53, 0x69, 0x67, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, + 0x0b, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x12, 0x2e, 0x0a, 0x07, + 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0c, + 0x6d, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x61, 0x70, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x34, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x35, 0x0a, 0x0b, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, +} + +var ( + file_pb_channel_GuildChannelBase_proto_rawDescOnce sync.Once + file_pb_channel_GuildChannelBase_proto_rawDescData = file_pb_channel_GuildChannelBase_proto_rawDesc +) + +func file_pb_channel_GuildChannelBase_proto_rawDescGZIP() []byte { + file_pb_channel_GuildChannelBase_proto_rawDescOnce.Do(func() { + file_pb_channel_GuildChannelBase_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_channel_GuildChannelBase_proto_rawDescData) + }) + return file_pb_channel_GuildChannelBase_proto_rawDescData +} + +var file_pb_channel_GuildChannelBase_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_pb_channel_GuildChannelBase_proto_goTypes = []interface{}{ + (*ChannelUserInfo)(nil), // 0: channel.ChannelUserInfo + (*ChannelUserPermission)(nil), // 1: channel.ChannelUserPermission + (*ClientIdentity)(nil), // 2: channel.ClientIdentity + (*BaseGuildInfo)(nil), // 3: channel.BaseGuildInfo + (*BaseRoleGroupInfo)(nil), // 4: channel.BaseRoleGroupInfo + (*StChannelInfo)(nil), // 5: channel.StChannelInfo + (*StChannelSign)(nil), // 6: channel.StChannelSign + (*StCommonExt)(nil), // 7: channel.StCommonExt + (*BytesEntry)(nil), // 8: channel.BytesEntry + (*CommonEntry)(nil), // 9: channel.CommonEntry +} +var file_pb_channel_GuildChannelBase_proto_depIdxs = []int32{ + 2, // 0: channel.ChannelUserInfo.clientIdentity:type_name -> channel.ClientIdentity + 1, // 1: channel.ChannelUserInfo.permission:type_name -> channel.ChannelUserPermission + 4, // 2: channel.ChannelUserInfo.roleGroups:type_name -> channel.BaseRoleGroupInfo + 6, // 3: channel.StChannelInfo.sign:type_name -> channel.StChannelSign + 9, // 4: channel.StCommonExt.mapInfo:type_name -> channel.CommonEntry + 8, // 5: channel.StCommonExt.mapBytesInfo:type_name -> channel.BytesEntry + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_pb_channel_GuildChannelBase_proto_init() } +func file_pb_channel_GuildChannelBase_proto_init() { + if File_pb_channel_GuildChannelBase_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_channel_GuildChannelBase_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelUserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelUserPermission); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClientIdentity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BaseGuildInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BaseRoleGroupInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StChannelInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StChannelSign); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StCommonExt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BytesEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildChannelBase_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonEntry); 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_pb_channel_GuildChannelBase_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pb_channel_GuildChannelBase_proto_goTypes, + DependencyIndexes: file_pb_channel_GuildChannelBase_proto_depIdxs, + MessageInfos: file_pb_channel_GuildChannelBase_proto_msgTypes, + }.Build() + File_pb_channel_GuildChannelBase_proto = out.File + file_pb_channel_GuildChannelBase_proto_rawDesc = nil + file_pb_channel_GuildChannelBase_proto_goTypes = nil + file_pb_channel_GuildChannelBase_proto_depIdxs = nil +} diff --git a/client/pb/channel/GuildChannelBase.proto b/client/pb/channel/GuildChannelBase.proto new file mode 100644 index 00000000..796d00e8 --- /dev/null +++ b/client/pb/channel/GuildChannelBase.proto @@ -0,0 +1,75 @@ +syntax = "proto2"; + +package channel; + +option go_package = "pb/channel;channel"; + +message ChannelUserInfo { + optional ClientIdentity clientIdentity = 1; + optional uint32 memberType = 2; + optional ChannelUserPermission permission = 3; + repeated BaseRoleGroupInfo roleGroups = 4; +} + +message ChannelUserPermission { + optional bool allowReadFeed = 1; + optional bool allowWriteFeed = 2; +} + +message ClientIdentity { + optional uint32 clientId = 1; + optional string desc = 2; +} + +message BaseGuildInfo { + optional uint64 guildId = 1; + optional string name = 2; + optional uint64 joinTime = 3; +} + +message BaseRoleGroupInfo { + optional uint64 roleId = 1; + optional string name = 2; + optional uint32 color = 3; +} + +message StChannelInfo { + optional StChannelSign sign = 1; + optional string name = 2; + optional string iconUrl = 3; +} + +message StChannelSign { + optional uint64 guildId = 1; + optional uint64 channelId = 2; +} +/* +message StEmojiReaction { + optional string emojiId = 1; + optional uint64 emojiType = 2; + optional uint64 cnt = 3; + optional bool isClicked = 4; + optional bool isDefaultEmoji = 10001; +} + +message StEmotionReactionInfo { + optional string id = 1; + repeated StEmojiReaction emojiReactionList = 2; +} + */ + +message StCommonExt { + repeated CommonEntry mapInfo = 1; + optional string attachInfo = 2; + repeated BytesEntry mapBytesInfo = 3; +} + +message BytesEntry { + optional string key = 1; + optional bytes value = 2; +} + +message CommonEntry { + optional string key = 1; + optional string value = 2; +} \ No newline at end of file diff --git a/client/pb/channel/GuildFeedCloudMeta.pb.go b/client/pb/channel/GuildFeedCloudMeta.pb.go new file mode 100644 index 00000000..3772f407 --- /dev/null +++ b/client/pb/channel/GuildFeedCloudMeta.pb.go @@ -0,0 +1,8365 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.14.0 +// source: pb/channel/GuildFeedCloudMeta.proto + +package channel + +import ( + 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 ContentMetaData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count *RichTextContentCount `protobuf:"bytes,1,opt,name=count" json:"count,omitempty"` + ContentID *int64 `protobuf:"varint,2,opt,name=ContentID" json:"ContentID,omitempty"` +} + +func (x *ContentMetaData) Reset() { + *x = ContentMetaData{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContentMetaData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContentMetaData) ProtoMessage() {} + +func (x *ContentMetaData) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 ContentMetaData.ProtoReflect.Descriptor instead. +func (*ContentMetaData) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{0} +} + +func (x *ContentMetaData) GetCount() *RichTextContentCount { + if x != nil { + return x.Count + } + return nil +} + +func (x *ContentMetaData) GetContentID() int64 { + if x != nil && x.ContentID != nil { + return *x.ContentID + } + return 0 +} + +type FeedMetaData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Content *ContentMetaData `protobuf:"bytes,1,opt,name=content" json:"content,omitempty"` + LastModifiedTime *uint64 `protobuf:"varint,2,opt,name=lastModifiedTime" json:"lastModifiedTime,omitempty"` +} + +func (x *FeedMetaData) Reset() { + *x = FeedMetaData{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeedMetaData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeedMetaData) ProtoMessage() {} + +func (x *FeedMetaData) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 FeedMetaData.ProtoReflect.Descriptor instead. +func (*FeedMetaData) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{1} +} + +func (x *FeedMetaData) GetContent() *ContentMetaData { + if x != nil { + return x.Content + } + return nil +} + +func (x *FeedMetaData) GetLastModifiedTime() uint64 { + if x != nil && x.LastModifiedTime != nil { + return *x.LastModifiedTime + } + return 0 +} + +type FeedRedTouchTransInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FeedId *string `protobuf:"bytes,1,opt,name=feedId" json:"feedId,omitempty"` + Author *string `protobuf:"bytes,2,opt,name=author" json:"author,omitempty"` + CreateTs *int64 `protobuf:"varint,3,opt,name=createTs" json:"createTs,omitempty"` + MsgType *int32 `protobuf:"varint,4,opt,name=msgType" json:"msgType,omitempty"` + PageType *int32 `protobuf:"varint,5,opt,name=pageType" json:"pageType,omitempty"` + RedType *int32 `protobuf:"varint,6,opt,name=redType" json:"redType,omitempty"` + InsertPageType *int32 `protobuf:"varint,7,opt,name=insertPageType" json:"insertPageType,omitempty"` +} + +func (x *FeedRedTouchTransInfo) Reset() { + *x = FeedRedTouchTransInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeedRedTouchTransInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeedRedTouchTransInfo) ProtoMessage() {} + +func (x *FeedRedTouchTransInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 FeedRedTouchTransInfo.ProtoReflect.Descriptor instead. +func (*FeedRedTouchTransInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{2} +} + +func (x *FeedRedTouchTransInfo) GetFeedId() string { + if x != nil && x.FeedId != nil { + return *x.FeedId + } + return "" +} + +func (x *FeedRedTouchTransInfo) GetAuthor() string { + if x != nil && x.Author != nil { + return *x.Author + } + return "" +} + +func (x *FeedRedTouchTransInfo) GetCreateTs() int64 { + if x != nil && x.CreateTs != nil { + return *x.CreateTs + } + return 0 +} + +func (x *FeedRedTouchTransInfo) GetMsgType() int32 { + if x != nil && x.MsgType != nil { + return *x.MsgType + } + return 0 +} + +func (x *FeedRedTouchTransInfo) GetPageType() int32 { + if x != nil && x.PageType != nil { + return *x.PageType + } + return 0 +} + +func (x *FeedRedTouchTransInfo) GetRedType() int32 { + if x != nil && x.RedType != nil { + return *x.RedType + } + return 0 +} + +func (x *FeedRedTouchTransInfo) GetInsertPageType() int32 { + if x != nil && x.InsertPageType != nil { + return *x.InsertPageType + } + return 0 +} + +type NoticeOperation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` + Schema *string `protobuf:"bytes,2,opt,name=schema" json:"schema,omitempty"` +} + +func (x *NoticeOperation) Reset() { + *x = NoticeOperation{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NoticeOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NoticeOperation) ProtoMessage() {} + +func (x *NoticeOperation) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 NoticeOperation.ProtoReflect.Descriptor instead. +func (*NoticeOperation) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{3} +} + +func (x *NoticeOperation) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *NoticeOperation) GetSchema() string { + if x != nil && x.Schema != nil { + return *x.Schema + } + return "" +} + +type RichTextContentCount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TextWord *uint64 `protobuf:"varint,1,opt,name=textWord" json:"textWord,omitempty"` + At *uint64 `protobuf:"varint,2,opt,name=at" json:"at,omitempty"` + Url *uint64 `protobuf:"varint,3,opt,name=url" json:"url,omitempty"` + Emoji *uint64 `protobuf:"varint,4,opt,name=emoji" json:"emoji,omitempty"` + Image *uint64 `protobuf:"varint,5,opt,name=image" json:"image,omitempty"` + Video *uint64 `protobuf:"varint,6,opt,name=video" json:"video,omitempty"` +} + +func (x *RichTextContentCount) Reset() { + *x = RichTextContentCount{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RichTextContentCount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RichTextContentCount) ProtoMessage() {} + +func (x *RichTextContentCount) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 RichTextContentCount.ProtoReflect.Descriptor instead. +func (*RichTextContentCount) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{4} +} + +func (x *RichTextContentCount) GetTextWord() uint64 { + if x != nil && x.TextWord != nil { + return *x.TextWord + } + return 0 +} + +func (x *RichTextContentCount) GetAt() uint64 { + if x != nil && x.At != nil { + return *x.At + } + return 0 +} + +func (x *RichTextContentCount) GetUrl() uint64 { + if x != nil && x.Url != nil { + return *x.Url + } + return 0 +} + +func (x *RichTextContentCount) GetEmoji() uint64 { + if x != nil && x.Emoji != nil { + return *x.Emoji + } + return 0 +} + +func (x *RichTextContentCount) GetImage() uint64 { + if x != nil && x.Image != nil { + return *x.Image + } + return 0 +} + +func (x *RichTextContentCount) GetVideo() uint64 { + if x != nil && x.Video != nil { + return *x.Video + } + return 0 +} + +type StAnimation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Width *uint32 `protobuf:"varint,1,opt,name=width" json:"width,omitempty"` + Height *uint32 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"` + AnimationUrl *string `protobuf:"bytes,3,opt,name=animationUrl" json:"animationUrl,omitempty"` + BusiData []byte `protobuf:"bytes,4,opt,name=busiData" json:"busiData,omitempty"` +} + +func (x *StAnimation) Reset() { + *x = StAnimation{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StAnimation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StAnimation) ProtoMessage() {} + +func (x *StAnimation) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StAnimation.ProtoReflect.Descriptor instead. +func (*StAnimation) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{5} +} + +func (x *StAnimation) GetWidth() uint32 { + if x != nil && x.Width != nil { + return *x.Width + } + return 0 +} + +func (x *StAnimation) GetHeight() uint32 { + if x != nil && x.Height != nil { + return *x.Height + } + return 0 +} + +func (x *StAnimation) GetAnimationUrl() string { + if x != nil && x.AnimationUrl != nil { + return *x.AnimationUrl + } + return "" +} + +func (x *StAnimation) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +type StBusiReportInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RecomReport *StRecomReportInfo `protobuf:"bytes,1,opt,name=recomReport" json:"recomReport,omitempty"` + TraceID *string `protobuf:"bytes,2,opt,name=traceID" json:"traceID,omitempty"` +} + +func (x *StBusiReportInfo) Reset() { + *x = StBusiReportInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StBusiReportInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StBusiReportInfo) ProtoMessage() {} + +func (x *StBusiReportInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StBusiReportInfo.ProtoReflect.Descriptor instead. +func (*StBusiReportInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{6} +} + +func (x *StBusiReportInfo) GetRecomReport() *StRecomReportInfo { + if x != nil { + return x.RecomReport + } + return nil +} + +func (x *StBusiReportInfo) GetTraceID() string { + if x != nil && x.TraceID != nil { + return *x.TraceID + } + return "" +} + +type StChannelShareInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FeedID *string `protobuf:"bytes,1,opt,name=feedID" json:"feedID,omitempty"` + PosterID *string `protobuf:"bytes,2,opt,name=posterID" json:"posterID,omitempty"` + FeedPublishAt *uint64 `protobuf:"varint,3,opt,name=feedPublishAt" json:"feedPublishAt,omitempty"` + ChannelSign *StChannelSign `protobuf:"bytes,4,opt,name=channelSign" json:"channelSign,omitempty"` + UpdateDurationMs *uint64 `protobuf:"varint,5,opt,name=updateDurationMs" json:"updateDurationMs,omitempty"` + Sign *StChannelShareSign `protobuf:"bytes,6,opt,name=sign" json:"sign,omitempty"` +} + +func (x *StChannelShareInfo) Reset() { + *x = StChannelShareInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StChannelShareInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StChannelShareInfo) ProtoMessage() {} + +func (x *StChannelShareInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StChannelShareInfo.ProtoReflect.Descriptor instead. +func (*StChannelShareInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{7} +} + +func (x *StChannelShareInfo) GetFeedID() string { + if x != nil && x.FeedID != nil { + return *x.FeedID + } + return "" +} + +func (x *StChannelShareInfo) GetPosterID() string { + if x != nil && x.PosterID != nil { + return *x.PosterID + } + return "" +} + +func (x *StChannelShareInfo) GetFeedPublishAt() uint64 { + if x != nil && x.FeedPublishAt != nil { + return *x.FeedPublishAt + } + return 0 +} + +func (x *StChannelShareInfo) GetChannelSign() *StChannelSign { + if x != nil { + return x.ChannelSign + } + return nil +} + +func (x *StChannelShareInfo) GetUpdateDurationMs() uint64 { + if x != nil && x.UpdateDurationMs != nil { + return *x.UpdateDurationMs + } + return 0 +} + +func (x *StChannelShareInfo) GetSign() *StChannelShareSign { + if x != nil { + return x.Sign + } + return nil +} + +type StChannelShareSign struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreateAt *uint64 `protobuf:"varint,1,opt,name=createAt" json:"createAt,omitempty"` + Token *string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` +} + +func (x *StChannelShareSign) Reset() { + *x = StChannelShareSign{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StChannelShareSign) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StChannelShareSign) ProtoMessage() {} + +func (x *StChannelShareSign) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StChannelShareSign.ProtoReflect.Descriptor instead. +func (*StChannelShareSign) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{8} +} + +func (x *StChannelShareSign) GetCreateAt() uint64 { + if x != nil && x.CreateAt != nil { + return *x.CreateAt + } + return 0 +} + +func (x *StChannelShareSign) GetToken() string { + if x != nil && x.Token != nil { + return *x.Token + } + return "" +} + +type StCircleRankItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RankNo *int32 `protobuf:"varint,1,opt,name=rankNo" json:"rankNo,omitempty"` + CircleName *string `protobuf:"bytes,2,opt,name=circleName" json:"circleName,omitempty"` + FuelValue *int64 `protobuf:"varint,3,opt,name=fuelValue" json:"fuelValue,omitempty"` + FeedNum *int64 `protobuf:"varint,4,opt,name=feedNum" json:"feedNum,omitempty"` + CircleID *string `protobuf:"bytes,5,opt,name=circleID" json:"circleID,omitempty"` +} + +func (x *StCircleRankItem) Reset() { + *x = StCircleRankItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StCircleRankItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StCircleRankItem) ProtoMessage() {} + +func (x *StCircleRankItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StCircleRankItem.ProtoReflect.Descriptor instead. +func (*StCircleRankItem) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{9} +} + +func (x *StCircleRankItem) GetRankNo() int32 { + if x != nil && x.RankNo != nil { + return *x.RankNo + } + return 0 +} + +func (x *StCircleRankItem) GetCircleName() string { + if x != nil && x.CircleName != nil { + return *x.CircleName + } + return "" +} + +func (x *StCircleRankItem) GetFuelValue() int64 { + if x != nil && x.FuelValue != nil { + return *x.FuelValue + } + return 0 +} + +func (x *StCircleRankItem) GetFeedNum() int64 { + if x != nil && x.FeedNum != nil { + return *x.FeedNum + } + return 0 +} + +func (x *StCircleRankItem) GetCircleID() string { + if x != nil && x.CircleID != nil { + return *x.CircleID + } + return "" +} + +type StClientInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Feedclientkey *string `protobuf:"bytes,1,opt,name=feedclientkey" json:"feedclientkey,omitempty"` + ClientMap []*CommonEntry `protobuf:"bytes,2,rep,name=clientMap" json:"clientMap,omitempty"` +} + +func (x *StClientInfo) Reset() { + *x = StClientInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StClientInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StClientInfo) ProtoMessage() {} + +func (x *StClientInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StClientInfo.ProtoReflect.Descriptor instead. +func (*StClientInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{10} +} + +func (x *StClientInfo) GetFeedclientkey() string { + if x != nil && x.Feedclientkey != nil { + return *x.Feedclientkey + } + return "" +} + +func (x *StClientInfo) GetClientMap() []*CommonEntry { + if x != nil { + return x.ClientMap + } + return nil +} + +type StComment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + PostUser *StUser `protobuf:"bytes,2,opt,name=postUser" json:"postUser,omitempty"` + CreateTime *uint64 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` + Content *string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` + ReplyCount *uint32 `protobuf:"varint,5,opt,name=replyCount" json:"replyCount,omitempty"` + VecReply []*StReply `protobuf:"bytes,6,rep,name=vecReply" json:"vecReply,omitempty"` + BusiData []byte `protobuf:"bytes,7,opt,name=busiData" json:"busiData,omitempty"` + LikeInfo *StLike `protobuf:"bytes,8,opt,name=likeInfo" json:"likeInfo,omitempty"` + TypeFlag *uint32 `protobuf:"varint,9,opt,name=typeFlag" json:"typeFlag,omitempty"` + AtUinList []string `protobuf:"bytes,10,rep,name=atUinList" json:"atUinList,omitempty"` + TypeFlag2 *uint32 `protobuf:"varint,11,opt,name=typeFlag2" json:"typeFlag2,omitempty"` + CreateTimeNs *uint64 `protobuf:"varint,12,opt,name=createTimeNs" json:"createTimeNs,omitempty"` + StoreExtInfo []*CommonEntry `protobuf:"bytes,13,rep,name=storeExtInfo" json:"storeExtInfo,omitempty"` + ThirdId *string `protobuf:"bytes,14,opt,name=thirdId" json:"thirdId,omitempty"` + SourceType *uint32 `protobuf:"varint,15,opt,name=sourceType" json:"sourceType,omitempty"` + RichContents *StRichText `protobuf:"bytes,16,opt,name=richContents" json:"richContents,omitempty"` +} + +func (x *StComment) Reset() { + *x = StComment{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StComment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StComment) ProtoMessage() {} + +func (x *StComment) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StComment.ProtoReflect.Descriptor instead. +func (*StComment) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{11} +} + +func (x *StComment) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StComment) GetPostUser() *StUser { + if x != nil { + return x.PostUser + } + return nil +} + +func (x *StComment) GetCreateTime() uint64 { + if x != nil && x.CreateTime != nil { + return *x.CreateTime + } + return 0 +} + +func (x *StComment) GetContent() string { + if x != nil && x.Content != nil { + return *x.Content + } + return "" +} + +func (x *StComment) GetReplyCount() uint32 { + if x != nil && x.ReplyCount != nil { + return *x.ReplyCount + } + return 0 +} + +func (x *StComment) GetVecReply() []*StReply { + if x != nil { + return x.VecReply + } + return nil +} + +func (x *StComment) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StComment) GetLikeInfo() *StLike { + if x != nil { + return x.LikeInfo + } + return nil +} + +func (x *StComment) GetTypeFlag() uint32 { + if x != nil && x.TypeFlag != nil { + return *x.TypeFlag + } + return 0 +} + +func (x *StComment) GetAtUinList() []string { + if x != nil { + return x.AtUinList + } + return nil +} + +func (x *StComment) GetTypeFlag2() uint32 { + if x != nil && x.TypeFlag2 != nil { + return *x.TypeFlag2 + } + return 0 +} + +func (x *StComment) GetCreateTimeNs() uint64 { + if x != nil && x.CreateTimeNs != nil { + return *x.CreateTimeNs + } + return 0 +} + +func (x *StComment) GetStoreExtInfo() []*CommonEntry { + if x != nil { + return x.StoreExtInfo + } + return nil +} + +func (x *StComment) GetThirdId() string { + if x != nil && x.ThirdId != nil { + return *x.ThirdId + } + return "" +} + +func (x *StComment) GetSourceType() uint32 { + if x != nil && x.SourceType != nil { + return *x.SourceType + } + return 0 +} + +func (x *StComment) GetRichContents() *StRichText { + if x != nil { + return x.RichContents + } + return nil +} + +type StDebugInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DebugMap []*CommonEntry `protobuf:"bytes,1,rep,name=debugMap" json:"debugMap,omitempty"` +} + +func (x *StDebugInfo) Reset() { + *x = StDebugInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StDebugInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StDebugInfo) ProtoMessage() {} + +func (x *StDebugInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StDebugInfo.ProtoReflect.Descriptor instead. +func (*StDebugInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{12} +} + +func (x *StDebugInfo) GetDebugMap() []*CommonEntry { + if x != nil { + return x.DebugMap + } + return nil +} + +type StDittoFeed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DittoId *uint32 `protobuf:"varint,1,opt,name=dittoId" json:"dittoId,omitempty"` + DittoPatternId *uint32 `protobuf:"varint,2,opt,name=dittoPatternId" json:"dittoPatternId,omitempty"` + DittoData []byte `protobuf:"bytes,3,opt,name=dittoData" json:"dittoData,omitempty"` + DittoDataNew []byte `protobuf:"bytes,4,opt,name=dittoDataNew" json:"dittoDataNew,omitempty"` +} + +func (x *StDittoFeed) Reset() { + *x = StDittoFeed{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StDittoFeed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StDittoFeed) ProtoMessage() {} + +func (x *StDittoFeed) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_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 StDittoFeed.ProtoReflect.Descriptor instead. +func (*StDittoFeed) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{13} +} + +func (x *StDittoFeed) GetDittoId() uint32 { + if x != nil && x.DittoId != nil { + return *x.DittoId + } + return 0 +} + +func (x *StDittoFeed) GetDittoPatternId() uint32 { + if x != nil && x.DittoPatternId != nil { + return *x.DittoPatternId + } + return 0 +} + +func (x *StDittoFeed) GetDittoData() []byte { + if x != nil { + return x.DittoData + } + return nil +} + +func (x *StDittoFeed) GetDittoDataNew() []byte { + if x != nil { + return x.DittoDataNew + } + return nil +} + +type StExifInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kvs []*CommonEntry `protobuf:"bytes,1,rep,name=kvs" json:"kvs,omitempty"` +} + +func (x *StExifInfo) Reset() { + *x = StExifInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StExifInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StExifInfo) ProtoMessage() {} + +func (x *StExifInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[14] + 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 StExifInfo.ProtoReflect.Descriptor instead. +func (*StExifInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{14} +} + +func (x *StExifInfo) GetKvs() []*CommonEntry { + if x != nil { + return x.Kvs + } + return nil +} + +type StExternalMedalWallInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NeedRedPoint *bool `protobuf:"varint,1,opt,name=needRedPoint" json:"needRedPoint,omitempty"` + MedalInfos []*StMedalInfo `protobuf:"bytes,2,rep,name=medalInfos" json:"medalInfos,omitempty"` + MedalWallJumpUrl *string `protobuf:"bytes,3,opt,name=medalWallJumpUrl" json:"medalWallJumpUrl,omitempty"` + NeedShowEntrance *bool `protobuf:"varint,4,opt,name=needShowEntrance" json:"needShowEntrance,omitempty"` +} + +func (x *StExternalMedalWallInfo) Reset() { + *x = StExternalMedalWallInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StExternalMedalWallInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StExternalMedalWallInfo) ProtoMessage() {} + +func (x *StExternalMedalWallInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[15] + 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 StExternalMedalWallInfo.ProtoReflect.Descriptor instead. +func (*StExternalMedalWallInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{15} +} + +func (x *StExternalMedalWallInfo) GetNeedRedPoint() bool { + if x != nil && x.NeedRedPoint != nil { + return *x.NeedRedPoint + } + return false +} + +func (x *StExternalMedalWallInfo) GetMedalInfos() []*StMedalInfo { + if x != nil { + return x.MedalInfos + } + return nil +} + +func (x *StExternalMedalWallInfo) GetMedalWallJumpUrl() string { + if x != nil && x.MedalWallJumpUrl != nil { + return *x.MedalWallJumpUrl + } + return "" +} + +func (x *StExternalMedalWallInfo) GetNeedShowEntrance() bool { + if x != nil && x.NeedShowEntrance != nil { + return *x.NeedShowEntrance + } + return false +} + +type StFeed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Title *StRichText `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"` + Subtitle *StRichText `protobuf:"bytes,3,opt,name=subtitle" json:"subtitle,omitempty"` + Poster *StUser `protobuf:"bytes,4,opt,name=poster" json:"poster,omitempty"` + Videos []*StVideo `protobuf:"bytes,5,rep,name=videos" json:"videos,omitempty"` + Contents *StRichText `protobuf:"bytes,6,opt,name=contents" json:"contents,omitempty"` + CreateTime *uint64 `protobuf:"varint,7,opt,name=createTime" json:"createTime,omitempty"` + EmotionReaction *EmojiReaction `protobuf:"bytes,8,opt,name=emotionReaction" json:"emotionReaction,omitempty"` + CommentCount *uint32 `protobuf:"varint,9,opt,name=commentCount" json:"commentCount,omitempty"` + VecComment []*StComment `protobuf:"bytes,10,rep,name=vecComment" json:"vecComment,omitempty"` + Share *StShare `protobuf:"bytes,11,opt,name=share" json:"share,omitempty"` + VisitorInfo *StVisitor `protobuf:"bytes,12,opt,name=visitorInfo" json:"visitorInfo,omitempty"` + Images []*StImage `protobuf:"bytes,13,rep,name=images" json:"images,omitempty"` + PoiInfo *StPoiInfoV2 `protobuf:"bytes,14,opt,name=poiInfo" json:"poiInfo,omitempty"` + TagInfos []*StTagInfo `protobuf:"bytes,15,rep,name=tagInfos" json:"tagInfos,omitempty"` + BusiReport []byte `protobuf:"bytes,16,opt,name=busiReport" json:"busiReport,omitempty"` + OpMask []uint32 `protobuf:"varint,17,rep,name=opMask" json:"opMask,omitempty"` + Opinfo *StOpinfo `protobuf:"bytes,18,opt,name=opinfo" json:"opinfo,omitempty"` + ExtInfo []*CommonEntry `protobuf:"bytes,19,rep,name=extInfo" json:"extInfo,omitempty"` + PatternInfo *string `protobuf:"bytes,20,opt,name=patternInfo" json:"patternInfo,omitempty"` + ChannelInfo *StChannelInfo `protobuf:"bytes,21,opt,name=channelInfo" json:"channelInfo,omitempty"` + CreateTimeNs *uint64 `protobuf:"varint,22,opt,name=createTimeNs" json:"createTimeNs,omitempty"` + Summary *StFeedSummary `protobuf:"bytes,23,opt,name=summary" json:"summary,omitempty"` + RecomInfo *StRecomInfo `protobuf:"bytes,24,opt,name=recomInfo" json:"recomInfo,omitempty"` + Meta *FeedMetaData `protobuf:"bytes,25,opt,name=meta" json:"meta,omitempty"` +} + +func (x *StFeed) Reset() { + *x = StFeed{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StFeed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StFeed) ProtoMessage() {} + +func (x *StFeed) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[16] + 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 StFeed.ProtoReflect.Descriptor instead. +func (*StFeed) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{16} +} + +func (x *StFeed) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StFeed) GetTitle() *StRichText { + if x != nil { + return x.Title + } + return nil +} + +func (x *StFeed) GetSubtitle() *StRichText { + if x != nil { + return x.Subtitle + } + return nil +} + +func (x *StFeed) GetPoster() *StUser { + if x != nil { + return x.Poster + } + return nil +} + +func (x *StFeed) GetVideos() []*StVideo { + if x != nil { + return x.Videos + } + return nil +} + +func (x *StFeed) GetContents() *StRichText { + if x != nil { + return x.Contents + } + return nil +} + +func (x *StFeed) GetCreateTime() uint64 { + if x != nil && x.CreateTime != nil { + return *x.CreateTime + } + return 0 +} + +func (x *StFeed) GetEmotionReaction() *EmojiReaction { + if x != nil { + return x.EmotionReaction + } + return nil +} + +func (x *StFeed) GetCommentCount() uint32 { + if x != nil && x.CommentCount != nil { + return *x.CommentCount + } + return 0 +} + +func (x *StFeed) GetVecComment() []*StComment { + if x != nil { + return x.VecComment + } + return nil +} + +func (x *StFeed) GetShare() *StShare { + if x != nil { + return x.Share + } + return nil +} + +func (x *StFeed) GetVisitorInfo() *StVisitor { + if x != nil { + return x.VisitorInfo + } + return nil +} + +func (x *StFeed) GetImages() []*StImage { + if x != nil { + return x.Images + } + return nil +} + +func (x *StFeed) GetPoiInfo() *StPoiInfoV2 { + if x != nil { + return x.PoiInfo + } + return nil +} + +func (x *StFeed) GetTagInfos() []*StTagInfo { + if x != nil { + return x.TagInfos + } + return nil +} + +func (x *StFeed) GetBusiReport() []byte { + if x != nil { + return x.BusiReport + } + return nil +} + +func (x *StFeed) GetOpMask() []uint32 { + if x != nil { + return x.OpMask + } + return nil +} + +func (x *StFeed) GetOpinfo() *StOpinfo { + if x != nil { + return x.Opinfo + } + return nil +} + +func (x *StFeed) GetExtInfo() []*CommonEntry { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StFeed) GetPatternInfo() string { + if x != nil && x.PatternInfo != nil { + return *x.PatternInfo + } + return "" +} + +func (x *StFeed) GetChannelInfo() *StChannelInfo { + if x != nil { + return x.ChannelInfo + } + return nil +} + +func (x *StFeed) GetCreateTimeNs() uint64 { + if x != nil && x.CreateTimeNs != nil { + return *x.CreateTimeNs + } + return 0 +} + +func (x *StFeed) GetSummary() *StFeedSummary { + if x != nil { + return x.Summary + } + return nil +} + +func (x *StFeed) GetRecomInfo() *StRecomInfo { + if x != nil { + return x.RecomInfo + } + return nil +} + +func (x *StFeed) GetMeta() *FeedMetaData { + if x != nil { + return x.Meta + } + return nil +} + +type StFeedAbstract struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Title *string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"` + Poster *StUser `protobuf:"bytes,3,opt,name=poster" json:"poster,omitempty"` + Pic *StImage `protobuf:"bytes,4,opt,name=pic" json:"pic,omitempty"` + Type *uint32 `protobuf:"varint,5,opt,name=type" json:"type,omitempty"` + CreateTime *uint64 `protobuf:"varint,6,opt,name=createTime" json:"createTime,omitempty"` + Video *StVideo `protobuf:"bytes,7,opt,name=video" json:"video,omitempty"` + FuelNum *uint32 `protobuf:"varint,8,opt,name=fuelNum" json:"fuelNum,omitempty"` + Content *string `protobuf:"bytes,9,opt,name=content" json:"content,omitempty"` + Images []*StImage `protobuf:"bytes,10,rep,name=images" json:"images,omitempty"` + CountInfo *StFeedCount `protobuf:"bytes,11,opt,name=countInfo" json:"countInfo,omitempty"` +} + +func (x *StFeedAbstract) Reset() { + *x = StFeedAbstract{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StFeedAbstract) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StFeedAbstract) ProtoMessage() {} + +func (x *StFeedAbstract) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[17] + 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 StFeedAbstract.ProtoReflect.Descriptor instead. +func (*StFeedAbstract) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{17} +} + +func (x *StFeedAbstract) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StFeedAbstract) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *StFeedAbstract) GetPoster() *StUser { + if x != nil { + return x.Poster + } + return nil +} + +func (x *StFeedAbstract) GetPic() *StImage { + if x != nil { + return x.Pic + } + return nil +} + +func (x *StFeedAbstract) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StFeedAbstract) GetCreateTime() uint64 { + if x != nil && x.CreateTime != nil { + return *x.CreateTime + } + return 0 +} + +func (x *StFeedAbstract) GetVideo() *StVideo { + if x != nil { + return x.Video + } + return nil +} + +func (x *StFeedAbstract) GetFuelNum() uint32 { + if x != nil && x.FuelNum != nil { + return *x.FuelNum + } + return 0 +} + +func (x *StFeedAbstract) GetContent() string { + if x != nil && x.Content != nil { + return *x.Content + } + return "" +} + +func (x *StFeedAbstract) GetImages() []*StImage { + if x != nil { + return x.Images + } + return nil +} + +func (x *StFeedAbstract) GetCountInfo() *StFeedCount { + if x != nil { + return x.CountInfo + } + return nil +} + +type StFeedCount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Liked *int64 `protobuf:"varint,1,opt,name=liked" json:"liked,omitempty"` + Push *int64 `protobuf:"varint,2,opt,name=push" json:"push,omitempty"` + Comment *int64 `protobuf:"varint,3,opt,name=comment" json:"comment,omitempty"` + Visitor *int64 `protobuf:"varint,4,opt,name=visitor" json:"visitor,omitempty"` +} + +func (x *StFeedCount) Reset() { + *x = StFeedCount{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StFeedCount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StFeedCount) ProtoMessage() {} + +func (x *StFeedCount) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[18] + 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 StFeedCount.ProtoReflect.Descriptor instead. +func (*StFeedCount) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{18} +} + +func (x *StFeedCount) GetLiked() int64 { + if x != nil && x.Liked != nil { + return *x.Liked + } + return 0 +} + +func (x *StFeedCount) GetPush() int64 { + if x != nil && x.Push != nil { + return *x.Push + } + return 0 +} + +func (x *StFeedCount) GetComment() int64 { + if x != nil && x.Comment != nil { + return *x.Comment + } + return 0 +} + +func (x *StFeedCount) GetVisitor() int64 { + if x != nil && x.Visitor != nil { + return *x.Visitor + } + return 0 +} + +type StFeedSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LayoutType *uint32 `protobuf:"varint,1,opt,name=layoutType" json:"layoutType,omitempty"` +} + +func (x *StFeedSummary) Reset() { + *x = StFeedSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StFeedSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StFeedSummary) ProtoMessage() {} + +func (x *StFeedSummary) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[19] + 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 StFeedSummary.ProtoReflect.Descriptor instead. +func (*StFeedSummary) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{19} +} + +func (x *StFeedSummary) GetLayoutType() uint32 { + if x != nil && x.LayoutType != nil { + return *x.LayoutType + } + return 0 +} + +type StFollowRecomInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FollowText *string `protobuf:"bytes,1,opt,name=followText" json:"followText,omitempty"` + FollowUsers []*StFollowUser `protobuf:"bytes,4,rep,name=followUsers" json:"followUsers,omitempty"` + CommFriendText *string `protobuf:"bytes,6,opt,name=commFriendText" json:"commFriendText,omitempty"` + CommGroupText *string `protobuf:"bytes,7,opt,name=commGroupText" json:"commGroupText,omitempty"` +} + +func (x *StFollowRecomInfo) Reset() { + *x = StFollowRecomInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StFollowRecomInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StFollowRecomInfo) ProtoMessage() {} + +func (x *StFollowRecomInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[20] + 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 StFollowRecomInfo.ProtoReflect.Descriptor instead. +func (*StFollowRecomInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{20} +} + +func (x *StFollowRecomInfo) GetFollowText() string { + if x != nil && x.FollowText != nil { + return *x.FollowText + } + return "" +} + +func (x *StFollowRecomInfo) GetFollowUsers() []*StFollowUser { + if x != nil { + return x.FollowUsers + } + return nil +} + +func (x *StFollowRecomInfo) GetCommFriendText() string { + if x != nil && x.CommFriendText != nil { + return *x.CommFriendText + } + return "" +} + +func (x *StFollowRecomInfo) GetCommGroupText() string { + if x != nil && x.CommGroupText != nil { + return *x.CommGroupText + } + return "" +} + +type StFollowUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uid *uint64 `protobuf:"varint,1,opt,name=uid" json:"uid,omitempty"` + Nick *string `protobuf:"bytes,2,opt,name=nick" json:"nick,omitempty"` +} + +func (x *StFollowUser) Reset() { + *x = StFollowUser{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StFollowUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StFollowUser) ProtoMessage() {} + +func (x *StFollowUser) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[21] + 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 StFollowUser.ProtoReflect.Descriptor instead. +func (*StFollowUser) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{21} +} + +func (x *StFollowUser) GetUid() uint64 { + if x != nil && x.Uid != nil { + return *x.Uid + } + return 0 +} + +func (x *StFollowUser) GetNick() string { + if x != nil && x.Nick != nil { + return *x.Nick + } + return "" +} + +type StGPSV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Lat *int64 `protobuf:"varint,1,opt,name=lat" json:"lat,omitempty"` + Lon *int64 `protobuf:"varint,2,opt,name=lon" json:"lon,omitempty"` + EType *int64 `protobuf:"varint,3,opt,name=eType" json:"eType,omitempty"` + Alt *int64 `protobuf:"varint,4,opt,name=alt" json:"alt,omitempty"` +} + +func (x *StGPSV2) Reset() { + *x = StGPSV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGPSV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGPSV2) ProtoMessage() {} + +func (x *StGPSV2) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[22] + 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 StGPSV2.ProtoReflect.Descriptor instead. +func (*StGPSV2) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{22} +} + +func (x *StGPSV2) GetLat() int64 { + if x != nil && x.Lat != nil { + return *x.Lat + } + return 0 +} + +func (x *StGPSV2) GetLon() int64 { + if x != nil && x.Lon != nil { + return *x.Lon + } + return 0 +} + +func (x *StGPSV2) GetEType() int64 { + if x != nil && x.EType != nil { + return *x.EType + } + return 0 +} + +func (x *StGPSV2) GetAlt() int64 { + if x != nil && x.Alt != nil { + return *x.Alt + } + return 0 +} + +type StGuidePublishBubble struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + BackgroundImage *StImage `protobuf:"bytes,2,opt,name=backgroundImage" json:"backgroundImage,omitempty"` + JumpUrl *string `protobuf:"bytes,3,opt,name=jumpUrl" json:"jumpUrl,omitempty"` +} + +func (x *StGuidePublishBubble) Reset() { + *x = StGuidePublishBubble{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGuidePublishBubble) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGuidePublishBubble) ProtoMessage() {} + +func (x *StGuidePublishBubble) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[23] + 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 StGuidePublishBubble.ProtoReflect.Descriptor instead. +func (*StGuidePublishBubble) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{23} +} + +func (x *StGuidePublishBubble) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StGuidePublishBubble) GetBackgroundImage() *StImage { + if x != nil { + return x.BackgroundImage + } + return nil +} + +func (x *StGuidePublishBubble) GetJumpUrl() string { + if x != nil && x.JumpUrl != nil { + return *x.JumpUrl + } + return "" +} + +type StIconInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IconUrl40 *string `protobuf:"bytes,1,opt,name=iconUrl40" json:"iconUrl40,omitempty"` + IconUrl100 *string `protobuf:"bytes,2,opt,name=iconUrl100" json:"iconUrl100,omitempty"` + IconUrl140 *string `protobuf:"bytes,3,opt,name=iconUrl140" json:"iconUrl140,omitempty"` + IconUrl640 *string `protobuf:"bytes,4,opt,name=iconUrl640" json:"iconUrl640,omitempty"` + IconUrl *string `protobuf:"bytes,5,opt,name=iconUrl" json:"iconUrl,omitempty"` +} + +func (x *StIconInfo) Reset() { + *x = StIconInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StIconInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StIconInfo) ProtoMessage() {} + +func (x *StIconInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[24] + 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 StIconInfo.ProtoReflect.Descriptor instead. +func (*StIconInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{24} +} + +func (x *StIconInfo) GetIconUrl40() string { + if x != nil && x.IconUrl40 != nil { + return *x.IconUrl40 + } + return "" +} + +func (x *StIconInfo) GetIconUrl100() string { + if x != nil && x.IconUrl100 != nil { + return *x.IconUrl100 + } + return "" +} + +func (x *StIconInfo) GetIconUrl140() string { + if x != nil && x.IconUrl140 != nil { + return *x.IconUrl140 + } + return "" +} + +func (x *StIconInfo) GetIconUrl640() string { + if x != nil && x.IconUrl640 != nil { + return *x.IconUrl640 + } + return "" +} + +func (x *StIconInfo) GetIconUrl() string { + if x != nil && x.IconUrl != nil { + return *x.IconUrl + } + return "" +} + +type StImage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Width *uint32 `protobuf:"varint,1,opt,name=width" json:"width,omitempty"` + Height *uint32 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"` + PicUrl *string `protobuf:"bytes,3,opt,name=picUrl" json:"picUrl,omitempty"` + VecImageUrl []*StImageUrl `protobuf:"bytes,4,rep,name=vecImageUrl" json:"vecImageUrl,omitempty"` + PicId *string `protobuf:"bytes,5,opt,name=picId" json:"picId,omitempty"` + BusiData []byte `protobuf:"bytes,6,opt,name=busiData" json:"busiData,omitempty"` + ImageMD5 *string `protobuf:"bytes,7,opt,name=imageMD5" json:"imageMD5,omitempty"` + LayerPicUrl *string `protobuf:"bytes,8,opt,name=layerPicUrl" json:"layerPicUrl,omitempty"` + PatternId *string `protobuf:"bytes,9,opt,name=patternId" json:"patternId,omitempty"` + DisplayIndex *uint32 `protobuf:"varint,10,opt,name=displayIndex" json:"displayIndex,omitempty"` +} + +func (x *StImage) Reset() { + *x = StImage{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StImage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StImage) ProtoMessage() {} + +func (x *StImage) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[25] + 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 StImage.ProtoReflect.Descriptor instead. +func (*StImage) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{25} +} + +func (x *StImage) GetWidth() uint32 { + if x != nil && x.Width != nil { + return *x.Width + } + return 0 +} + +func (x *StImage) GetHeight() uint32 { + if x != nil && x.Height != nil { + return *x.Height + } + return 0 +} + +func (x *StImage) GetPicUrl() string { + if x != nil && x.PicUrl != nil { + return *x.PicUrl + } + return "" +} + +func (x *StImage) GetVecImageUrl() []*StImageUrl { + if x != nil { + return x.VecImageUrl + } + return nil +} + +func (x *StImage) GetPicId() string { + if x != nil && x.PicId != nil { + return *x.PicId + } + return "" +} + +func (x *StImage) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StImage) GetImageMD5() string { + if x != nil && x.ImageMD5 != nil { + return *x.ImageMD5 + } + return "" +} + +func (x *StImage) GetLayerPicUrl() string { + if x != nil && x.LayerPicUrl != nil { + return *x.LayerPicUrl + } + return "" +} + +func (x *StImage) GetPatternId() string { + if x != nil && x.PatternId != nil { + return *x.PatternId + } + return "" +} + +func (x *StImage) GetDisplayIndex() uint32 { + if x != nil && x.DisplayIndex != nil { + return *x.DisplayIndex + } + return 0 +} + +type StImageUrl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LevelType *uint32 `protobuf:"varint,1,opt,name=levelType" json:"levelType,omitempty"` + Url *string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"` + Width *uint32 `protobuf:"varint,3,opt,name=width" json:"width,omitempty"` + Height *uint32 `protobuf:"varint,4,opt,name=height" json:"height,omitempty"` + BusiData []byte `protobuf:"bytes,5,opt,name=busiData" json:"busiData,omitempty"` +} + +func (x *StImageUrl) Reset() { + *x = StImageUrl{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StImageUrl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StImageUrl) ProtoMessage() {} + +func (x *StImageUrl) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[26] + 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 StImageUrl.ProtoReflect.Descriptor instead. +func (*StImageUrl) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{26} +} + +func (x *StImageUrl) GetLevelType() uint32 { + if x != nil && x.LevelType != nil { + return *x.LevelType + } + return 0 +} + +func (x *StImageUrl) GetUrl() string { + if x != nil && x.Url != nil { + return *x.Url + } + return "" +} + +func (x *StImageUrl) GetWidth() uint32 { + if x != nil && x.Width != nil { + return *x.Width + } + return 0 +} + +func (x *StImageUrl) GetHeight() uint32 { + if x != nil && x.Height != nil { + return *x.Height + } + return 0 +} + +func (x *StImageUrl) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +type StLightInteractInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + User *StUser `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"` + Relation *StRelationInfo `protobuf:"bytes,2,opt,name=relation" json:"relation,omitempty"` + Count *uint32 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"` + BusiData []byte `protobuf:"bytes,4,opt,name=busiData" json:"busiData,omitempty"` +} + +func (x *StLightInteractInfo) Reset() { + *x = StLightInteractInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StLightInteractInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StLightInteractInfo) ProtoMessage() {} + +func (x *StLightInteractInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[27] + 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 StLightInteractInfo.ProtoReflect.Descriptor instead. +func (*StLightInteractInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{27} +} + +func (x *StLightInteractInfo) GetUser() *StUser { + if x != nil { + return x.User + } + return nil +} + +func (x *StLightInteractInfo) GetRelation() *StRelationInfo { + if x != nil { + return x.Relation + } + return nil +} + +func (x *StLightInteractInfo) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +func (x *StLightInteractInfo) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +type StLike struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Count *uint32 `protobuf:"varint,2,opt,name=count" json:"count,omitempty"` + Status *uint32 `protobuf:"varint,3,opt,name=status" json:"status,omitempty"` + VecUser []*StUser `protobuf:"bytes,4,rep,name=vecUser" json:"vecUser,omitempty"` + BusiData []byte `protobuf:"bytes,5,opt,name=busiData" json:"busiData,omitempty"` + PostUser *StUser `protobuf:"bytes,6,opt,name=postUser" json:"postUser,omitempty"` + HasLikedCount *uint32 `protobuf:"varint,7,opt,name=hasLikedCount" json:"hasLikedCount,omitempty"` + OwnerStatus *uint32 `protobuf:"varint,8,opt,name=ownerStatus" json:"ownerStatus,omitempty"` + JumpUrl *string `protobuf:"bytes,9,opt,name=jumpUrl" json:"jumpUrl,omitempty"` +} + +func (x *StLike) Reset() { + *x = StLike{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StLike) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StLike) ProtoMessage() {} + +func (x *StLike) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[28] + 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 StLike.ProtoReflect.Descriptor instead. +func (*StLike) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{28} +} + +func (x *StLike) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StLike) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +func (x *StLike) GetStatus() uint32 { + if x != nil && x.Status != nil { + return *x.Status + } + return 0 +} + +func (x *StLike) GetVecUser() []*StUser { + if x != nil { + return x.VecUser + } + return nil +} + +func (x *StLike) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StLike) GetPostUser() *StUser { + if x != nil { + return x.PostUser + } + return nil +} + +func (x *StLike) GetHasLikedCount() uint32 { + if x != nil && x.HasLikedCount != nil { + return *x.HasLikedCount + } + return 0 +} + +func (x *StLike) GetOwnerStatus() uint32 { + if x != nil && x.OwnerStatus != nil { + return *x.OwnerStatus + } + return 0 +} + +func (x *StLike) GetJumpUrl() string { + if x != nil && x.JumpUrl != nil { + return *x.JumpUrl + } + return "" +} + +type StLiteBanner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Icon *StImage `protobuf:"bytes,1,opt,name=icon" json:"icon,omitempty"` + Title *string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"` + JumpUrl *string `protobuf:"bytes,3,opt,name=jumpUrl" json:"jumpUrl,omitempty"` + ActivityID *string `protobuf:"bytes,4,opt,name=activityID" json:"activityID,omitempty"` + JsonStyle *string `protobuf:"bytes,5,opt,name=jsonStyle" json:"jsonStyle,omitempty"` + ExtInfo []*CommonEntry `protobuf:"bytes,6,rep,name=extInfo" json:"extInfo,omitempty"` +} + +func (x *StLiteBanner) Reset() { + *x = StLiteBanner{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StLiteBanner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StLiteBanner) ProtoMessage() {} + +func (x *StLiteBanner) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[29] + 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 StLiteBanner.ProtoReflect.Descriptor instead. +func (*StLiteBanner) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{29} +} + +func (x *StLiteBanner) GetIcon() *StImage { + if x != nil { + return x.Icon + } + return nil +} + +func (x *StLiteBanner) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *StLiteBanner) GetJumpUrl() string { + if x != nil && x.JumpUrl != nil { + return *x.JumpUrl + } + return "" +} + +func (x *StLiteBanner) GetActivityID() string { + if x != nil && x.ActivityID != nil { + return *x.ActivityID + } + return "" +} + +func (x *StLiteBanner) GetJsonStyle() string { + if x != nil && x.JsonStyle != nil { + return *x.JsonStyle + } + return "" +} + +func (x *StLiteBanner) GetExtInfo() []*CommonEntry { + if x != nil { + return x.ExtInfo + } + return nil +} + +type StMaterialDataNew struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaterialType *string `protobuf:"bytes,1,opt,name=materialType" json:"materialType,omitempty"` + MaterialList []*StSingleMaterial `protobuf:"bytes,2,rep,name=materialList" json:"materialList,omitempty"` +} + +func (x *StMaterialDataNew) Reset() { + *x = StMaterialDataNew{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StMaterialDataNew) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StMaterialDataNew) ProtoMessage() {} + +func (x *StMaterialDataNew) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[30] + 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 StMaterialDataNew.ProtoReflect.Descriptor instead. +func (*StMaterialDataNew) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{30} +} + +func (x *StMaterialDataNew) GetMaterialType() string { + if x != nil && x.MaterialType != nil { + return *x.MaterialType + } + return "" +} + +func (x *StMaterialDataNew) GetMaterialList() []*StSingleMaterial { + if x != nil { + return x.MaterialList + } + return nil +} + +type StMedalInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` + MedalName *string `protobuf:"bytes,2,opt,name=medalName" json:"medalName,omitempty"` + MedalID *string `protobuf:"bytes,3,opt,name=medalID" json:"medalID,omitempty"` + Rank *int32 `protobuf:"varint,4,opt,name=rank" json:"rank,omitempty"` + IsHighLight *bool `protobuf:"varint,5,opt,name=isHighLight" json:"isHighLight,omitempty"` + IsNew *bool `protobuf:"varint,6,opt,name=isNew" json:"isNew,omitempty"` + JumpUrl *string `protobuf:"bytes,7,opt,name=jumpUrl" json:"jumpUrl,omitempty"` + IconUrl *string `protobuf:"bytes,8,opt,name=iconUrl" json:"iconUrl,omitempty"` + BackgroundUrl *string `protobuf:"bytes,9,opt,name=backgroundUrl" json:"backgroundUrl,omitempty"` + Describe *string `protobuf:"bytes,10,opt,name=describe" json:"describe,omitempty"` + ReportValue *int32 `protobuf:"varint,11,opt,name=reportValue" json:"reportValue,omitempty"` +} + +func (x *StMedalInfo) Reset() { + *x = StMedalInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StMedalInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StMedalInfo) ProtoMessage() {} + +func (x *StMedalInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[31] + 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 StMedalInfo.ProtoReflect.Descriptor instead. +func (*StMedalInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{31} +} + +func (x *StMedalInfo) GetType() int32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StMedalInfo) GetMedalName() string { + if x != nil && x.MedalName != nil { + return *x.MedalName + } + return "" +} + +func (x *StMedalInfo) GetMedalID() string { + if x != nil && x.MedalID != nil { + return *x.MedalID + } + return "" +} + +func (x *StMedalInfo) GetRank() int32 { + if x != nil && x.Rank != nil { + return *x.Rank + } + return 0 +} + +func (x *StMedalInfo) GetIsHighLight() bool { + if x != nil && x.IsHighLight != nil { + return *x.IsHighLight + } + return false +} + +func (x *StMedalInfo) GetIsNew() bool { + if x != nil && x.IsNew != nil { + return *x.IsNew + } + return false +} + +func (x *StMedalInfo) GetJumpUrl() string { + if x != nil && x.JumpUrl != nil { + return *x.JumpUrl + } + return "" +} + +func (x *StMedalInfo) GetIconUrl() string { + if x != nil && x.IconUrl != nil { + return *x.IconUrl + } + return "" +} + +func (x *StMedalInfo) GetBackgroundUrl() string { + if x != nil && x.BackgroundUrl != nil { + return *x.BackgroundUrl + } + return "" +} + +func (x *StMedalInfo) GetDescribe() string { + if x != nil && x.Describe != nil { + return *x.Describe + } + return "" +} + +func (x *StMedalInfo) GetReportValue() int32 { + if x != nil && x.ReportValue != nil { + return *x.ReportValue + } + return 0 +} + +type StNotice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PsvFeed *StFeed `protobuf:"bytes,1,opt,name=psvFeed" json:"psvFeed,omitempty"` + OrigineFeed *StFeed `protobuf:"bytes,2,opt,name=origineFeed" json:"origineFeed,omitempty"` + PattonInfo *StNoticePattonInfo `protobuf:"bytes,3,opt,name=pattonInfo" json:"pattonInfo,omitempty"` +} + +func (x *StNotice) Reset() { + *x = StNotice{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StNotice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StNotice) ProtoMessage() {} + +func (x *StNotice) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[32] + 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 StNotice.ProtoReflect.Descriptor instead. +func (*StNotice) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{32} +} + +func (x *StNotice) GetPsvFeed() *StFeed { + if x != nil { + return x.PsvFeed + } + return nil +} + +func (x *StNotice) GetOrigineFeed() *StFeed { + if x != nil { + return x.OrigineFeed + } + return nil +} + +func (x *StNotice) GetPattonInfo() *StNoticePattonInfo { + if x != nil { + return x.PattonInfo + } + return nil +} + +type StNoticePattonInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PattonType *uint32 `protobuf:"varint,1,opt,name=pattonType" json:"pattonType,omitempty"` + PlainTxt *StPlainTxtInfo `protobuf:"bytes,2,opt,name=plainTxt" json:"plainTxt,omitempty"` +} + +func (x *StNoticePattonInfo) Reset() { + *x = StNoticePattonInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StNoticePattonInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StNoticePattonInfo) ProtoMessage() {} + +func (x *StNoticePattonInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[33] + 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 StNoticePattonInfo.ProtoReflect.Descriptor instead. +func (*StNoticePattonInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{33} +} + +func (x *StNoticePattonInfo) GetPattonType() uint32 { + if x != nil && x.PattonType != nil { + return *x.PattonType + } + return 0 +} + +func (x *StNoticePattonInfo) GetPlainTxt() *StPlainTxtInfo { + if x != nil { + return x.PlainTxt + } + return nil +} + +type StNoticeTxtInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Content *StRichText `protobuf:"bytes,1,opt,name=content" json:"content,omitempty"` + ContentOfReference *StRichText `protobuf:"bytes,2,opt,name=contentOfReference" json:"contentOfReference,omitempty"` +} + +func (x *StNoticeTxtInfo) Reset() { + *x = StNoticeTxtInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StNoticeTxtInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StNoticeTxtInfo) ProtoMessage() {} + +func (x *StNoticeTxtInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[34] + 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 StNoticeTxtInfo.ProtoReflect.Descriptor instead. +func (*StNoticeTxtInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{34} +} + +func (x *StNoticeTxtInfo) GetContent() *StRichText { + if x != nil { + return x.Content + } + return nil +} + +func (x *StNoticeTxtInfo) GetContentOfReference() *StRichText { + if x != nil { + return x.ContentOfReference + } + return nil +} + +type StOpinfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreateTime []uint64 `protobuf:"varint,1,rep,name=createTime" json:"createTime,omitempty"` +} + +func (x *StOpinfo) Reset() { + *x = StOpinfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StOpinfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StOpinfo) ProtoMessage() {} + +func (x *StOpinfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[35] + 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 StOpinfo.ProtoReflect.Descriptor instead. +func (*StOpinfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{35} +} + +func (x *StOpinfo) GetCreateTime() []uint64 { + if x != nil { + return x.CreateTime + } + return nil +} + +type StPlainTxtInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TxtInfo *StNoticeTxtInfo `protobuf:"bytes,1,opt,name=txtInfo" json:"txtInfo,omitempty"` + Operation *NoticeOperation `protobuf:"bytes,2,opt,name=operation" json:"operation,omitempty"` +} + +func (x *StPlainTxtInfo) Reset() { + *x = StPlainTxtInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StPlainTxtInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StPlainTxtInfo) ProtoMessage() {} + +func (x *StPlainTxtInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[36] + 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 StPlainTxtInfo.ProtoReflect.Descriptor instead. +func (*StPlainTxtInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{36} +} + +func (x *StPlainTxtInfo) GetTxtInfo() *StNoticeTxtInfo { + if x != nil { + return x.TxtInfo + } + return nil +} + +func (x *StPlainTxtInfo) GetOperation() *NoticeOperation { + if x != nil { + return x.Operation + } + return nil +} + +type StPoiInfoV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PoiId *string `protobuf:"bytes,1,opt,name=poiId" json:"poiId,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + PoiType *int32 `protobuf:"varint,3,opt,name=poiType" json:"poiType,omitempty"` + TypeName *string `protobuf:"bytes,4,opt,name=typeName" json:"typeName,omitempty"` + Address *string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"` + DistrictCode *int32 `protobuf:"varint,6,opt,name=districtCode" json:"districtCode,omitempty"` + Gps *StGPSV2 `protobuf:"bytes,7,opt,name=gps" json:"gps,omitempty"` + Distance *int32 `protobuf:"varint,8,opt,name=distance" json:"distance,omitempty"` + HotValue *int32 `protobuf:"varint,9,opt,name=hotValue" json:"hotValue,omitempty"` + Phone *string `protobuf:"bytes,10,opt,name=phone" json:"phone,omitempty"` + Country *string `protobuf:"bytes,11,opt,name=country" json:"country,omitempty"` + Province *string `protobuf:"bytes,12,opt,name=province" json:"province,omitempty"` + City *string `protobuf:"bytes,13,opt,name=city" json:"city,omitempty"` + PoiNum *int32 `protobuf:"varint,14,opt,name=poiNum" json:"poiNum,omitempty"` + PoiOrderType *int32 `protobuf:"varint,15,opt,name=poiOrderType" json:"poiOrderType,omitempty"` + DefaultName *string `protobuf:"bytes,16,opt,name=defaultName" json:"defaultName,omitempty"` + District *string `protobuf:"bytes,17,opt,name=district" json:"district,omitempty"` + DianPingId *string `protobuf:"bytes,18,opt,name=dianPingId" json:"dianPingId,omitempty"` + DistanceText *string `protobuf:"bytes,19,opt,name=distanceText" json:"distanceText,omitempty"` + DisplayName *string `protobuf:"bytes,20,opt,name=displayName" json:"displayName,omitempty"` +} + +func (x *StPoiInfoV2) Reset() { + *x = StPoiInfoV2{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StPoiInfoV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StPoiInfoV2) ProtoMessage() {} + +func (x *StPoiInfoV2) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[37] + 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 StPoiInfoV2.ProtoReflect.Descriptor instead. +func (*StPoiInfoV2) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{37} +} + +func (x *StPoiInfoV2) GetPoiId() string { + if x != nil && x.PoiId != nil { + return *x.PoiId + } + return "" +} + +func (x *StPoiInfoV2) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *StPoiInfoV2) GetPoiType() int32 { + if x != nil && x.PoiType != nil { + return *x.PoiType + } + return 0 +} + +func (x *StPoiInfoV2) GetTypeName() string { + if x != nil && x.TypeName != nil { + return *x.TypeName + } + return "" +} + +func (x *StPoiInfoV2) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address + } + return "" +} + +func (x *StPoiInfoV2) GetDistrictCode() int32 { + if x != nil && x.DistrictCode != nil { + return *x.DistrictCode + } + return 0 +} + +func (x *StPoiInfoV2) GetGps() *StGPSV2 { + if x != nil { + return x.Gps + } + return nil +} + +func (x *StPoiInfoV2) GetDistance() int32 { + if x != nil && x.Distance != nil { + return *x.Distance + } + return 0 +} + +func (x *StPoiInfoV2) GetHotValue() int32 { + if x != nil && x.HotValue != nil { + return *x.HotValue + } + return 0 +} + +func (x *StPoiInfoV2) GetPhone() string { + if x != nil && x.Phone != nil { + return *x.Phone + } + return "" +} + +func (x *StPoiInfoV2) GetCountry() string { + if x != nil && x.Country != nil { + return *x.Country + } + return "" +} + +func (x *StPoiInfoV2) GetProvince() string { + if x != nil && x.Province != nil { + return *x.Province + } + return "" +} + +func (x *StPoiInfoV2) GetCity() string { + if x != nil && x.City != nil { + return *x.City + } + return "" +} + +func (x *StPoiInfoV2) GetPoiNum() int32 { + if x != nil && x.PoiNum != nil { + return *x.PoiNum + } + return 0 +} + +func (x *StPoiInfoV2) GetPoiOrderType() int32 { + if x != nil && x.PoiOrderType != nil { + return *x.PoiOrderType + } + return 0 +} + +func (x *StPoiInfoV2) GetDefaultName() string { + if x != nil && x.DefaultName != nil { + return *x.DefaultName + } + return "" +} + +func (x *StPoiInfoV2) GetDistrict() string { + if x != nil && x.District != nil { + return *x.District + } + return "" +} + +func (x *StPoiInfoV2) GetDianPingId() string { + if x != nil && x.DianPingId != nil { + return *x.DianPingId + } + return "" +} + +func (x *StPoiInfoV2) GetDistanceText() string { + if x != nil && x.DistanceText != nil { + return *x.DistanceText + } + return "" +} + +func (x *StPoiInfoV2) GetDisplayName() string { + if x != nil && x.DisplayName != nil { + return *x.DisplayName + } + return "" +} + +type StPrePullCacheFeed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Poster *StUser `protobuf:"bytes,2,opt,name=poster" json:"poster,omitempty"` + CreateTime *uint64 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` //repeated GuildCommon.BytesEntry busiTranparent = 4; +} + +func (x *StPrePullCacheFeed) Reset() { + *x = StPrePullCacheFeed{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StPrePullCacheFeed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StPrePullCacheFeed) ProtoMessage() {} + +func (x *StPrePullCacheFeed) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[38] + 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 StPrePullCacheFeed.ProtoReflect.Descriptor instead. +func (*StPrePullCacheFeed) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{38} +} + +func (x *StPrePullCacheFeed) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StPrePullCacheFeed) GetPoster() *StUser { + if x != nil { + return x.Poster + } + return nil +} + +func (x *StPrePullCacheFeed) GetCreateTime() uint64 { + if x != nil && x.CreateTime != nil { + return *x.CreateTime + } + return 0 +} + +type StProxyInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CmdId *int32 `protobuf:"varint,1,opt,name=cmdId" json:"cmdId,omitempty"` + SubCmdId *int32 `protobuf:"varint,2,opt,name=subCmdId" json:"subCmdId,omitempty"` + AppProtocol *string `protobuf:"bytes,3,opt,name=appProtocol" json:"appProtocol,omitempty"` + ReqBody []byte `protobuf:"bytes,4,opt,name=reqBody" json:"reqBody,omitempty"` +} + +func (x *StProxyInfo) Reset() { + *x = StProxyInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StProxyInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StProxyInfo) ProtoMessage() {} + +func (x *StProxyInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[39] + 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 StProxyInfo.ProtoReflect.Descriptor instead. +func (*StProxyInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{39} +} + +func (x *StProxyInfo) GetCmdId() int32 { + if x != nil && x.CmdId != nil { + return *x.CmdId + } + return 0 +} + +func (x *StProxyInfo) GetSubCmdId() int32 { + if x != nil && x.SubCmdId != nil { + return *x.SubCmdId + } + return 0 +} + +func (x *StProxyInfo) GetAppProtocol() string { + if x != nil && x.AppProtocol != nil { + return *x.AppProtocol + } + return "" +} + +func (x *StProxyInfo) GetReqBody() []byte { + if x != nil { + return x.ReqBody + } + return nil +} + +type StRankingItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + User *StUser `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"` + Relation *StRelationInfo `protobuf:"bytes,2,opt,name=relation" json:"relation,omitempty"` + Score *int64 `protobuf:"varint,3,opt,name=score" json:"score,omitempty"` + Grade *int32 `protobuf:"varint,4,opt,name=grade" json:"grade,omitempty"` + BusiData []byte `protobuf:"bytes,5,opt,name=busiData" json:"busiData,omitempty"` + RankNo *int32 `protobuf:"varint,6,opt,name=rankNo" json:"rankNo,omitempty"` + InTopicList *int32 `protobuf:"varint,7,opt,name=inTopicList" json:"inTopicList,omitempty"` +} + +func (x *StRankingItem) Reset() { + *x = StRankingItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRankingItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRankingItem) ProtoMessage() {} + +func (x *StRankingItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[40] + 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 StRankingItem.ProtoReflect.Descriptor instead. +func (*StRankingItem) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{40} +} + +func (x *StRankingItem) GetUser() *StUser { + if x != nil { + return x.User + } + return nil +} + +func (x *StRankingItem) GetRelation() *StRelationInfo { + if x != nil { + return x.Relation + } + return nil +} + +func (x *StRankingItem) GetScore() int64 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +func (x *StRankingItem) GetGrade() int32 { + if x != nil && x.Grade != nil { + return *x.Grade + } + return 0 +} + +func (x *StRankingItem) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StRankingItem) GetRankNo() int32 { + if x != nil && x.RankNo != nil { + return *x.RankNo + } + return 0 +} + +func (x *StRankingItem) GetInTopicList() int32 { + if x != nil && x.InTopicList != nil { + return *x.InTopicList + } + return 0 +} + +type StRecomForward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Title *string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"` + Subtitle *string `protobuf:"bytes,3,opt,name=subtitle" json:"subtitle,omitempty"` + Poster *StUser `protobuf:"bytes,4,opt,name=poster" json:"poster,omitempty"` + CreateTime *uint64 `protobuf:"varint,5,opt,name=createTime" json:"createTime,omitempty"` + Type *uint32 `protobuf:"varint,6,opt,name=type" json:"type,omitempty"` + BusiData []byte `protobuf:"bytes,7,opt,name=busiData" json:"busiData,omitempty"` +} + +func (x *StRecomForward) Reset() { + *x = StRecomForward{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRecomForward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRecomForward) ProtoMessage() {} + +func (x *StRecomForward) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[41] + 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 StRecomForward.ProtoReflect.Descriptor instead. +func (*StRecomForward) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{41} +} + +func (x *StRecomForward) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StRecomForward) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *StRecomForward) GetSubtitle() string { + if x != nil && x.Subtitle != nil { + return *x.Subtitle + } + return "" +} + +func (x *StRecomForward) GetPoster() *StUser { + if x != nil { + return x.Poster + } + return nil +} + +func (x *StRecomForward) GetCreateTime() uint64 { + if x != nil && x.CreateTime != nil { + return *x.CreateTime + } + return 0 +} + +func (x *StRecomForward) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StRecomForward) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +type StRecomInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RecomReason *string `protobuf:"bytes,1,opt,name=recomReason" json:"recomReason,omitempty"` + RecomAttachInfo []byte `protobuf:"bytes,2,opt,name=recomAttachInfo" json:"recomAttachInfo,omitempty"` + RecomTrace *string `protobuf:"bytes,3,opt,name=recomTrace" json:"recomTrace,omitempty"` + ClientSealData []byte `protobuf:"bytes,4,opt,name=clientSealData" json:"clientSealData,omitempty"` + IconUrl *string `protobuf:"bytes,5,opt,name=iconUrl" json:"iconUrl,omitempty"` + RecomReasonType *int32 `protobuf:"varint,6,opt,name=recomReasonType" json:"recomReasonType,omitempty"` +} + +func (x *StRecomInfo) Reset() { + *x = StRecomInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRecomInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRecomInfo) ProtoMessage() {} + +func (x *StRecomInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[42] + 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 StRecomInfo.ProtoReflect.Descriptor instead. +func (*StRecomInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{42} +} + +func (x *StRecomInfo) GetRecomReason() string { + if x != nil && x.RecomReason != nil { + return *x.RecomReason + } + return "" +} + +func (x *StRecomInfo) GetRecomAttachInfo() []byte { + if x != nil { + return x.RecomAttachInfo + } + return nil +} + +func (x *StRecomInfo) GetRecomTrace() string { + if x != nil && x.RecomTrace != nil { + return *x.RecomTrace + } + return "" +} + +func (x *StRecomInfo) GetClientSealData() []byte { + if x != nil { + return x.ClientSealData + } + return nil +} + +func (x *StRecomInfo) GetIconUrl() string { + if x != nil && x.IconUrl != nil { + return *x.IconUrl + } + return "" +} + +func (x *StRecomInfo) GetRecomReasonType() int32 { + if x != nil && x.RecomReasonType != nil { + return *x.RecomReasonType + } + return 0 +} + +type StRecomReportInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RecomInfos []*StSingleRecomReportInfo `protobuf:"bytes,1,rep,name=recomInfos" json:"recomInfos,omitempty"` +} + +func (x *StRecomReportInfo) Reset() { + *x = StRecomReportInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRecomReportInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRecomReportInfo) ProtoMessage() {} + +func (x *StRecomReportInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[43] + 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 StRecomReportInfo.ProtoReflect.Descriptor instead. +func (*StRecomReportInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{43} +} + +func (x *StRecomReportInfo) GetRecomInfos() []*StSingleRecomReportInfo { + if x != nil { + return x.RecomInfos + } + return nil +} + +type StRelationInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Relation *uint32 `protobuf:"varint,2,opt,name=relation" json:"relation,omitempty"` + BusiData []byte `protobuf:"bytes,3,opt,name=busiData" json:"busiData,omitempty"` + RelationState *uint32 `protobuf:"varint,4,opt,name=relationState" json:"relationState,omitempty"` + Score *uint32 `protobuf:"varint,5,opt,name=score" json:"score,omitempty"` + IsBlock *bool `protobuf:"varint,6,opt,name=isBlock" json:"isBlock,omitempty"` + IsBlocked *bool `protobuf:"varint,7,opt,name=isBlocked" json:"isBlocked,omitempty"` + IsFriend *bool `protobuf:"varint,8,opt,name=isFriend" json:"isFriend,omitempty"` + IsUncare *bool `protobuf:"varint,9,opt,name=isUncare" json:"isUncare,omitempty"` + ImBitMap *uint64 `protobuf:"varint,10,opt,name=imBitMap" json:"imBitMap,omitempty"` +} + +func (x *StRelationInfo) Reset() { + *x = StRelationInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRelationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRelationInfo) ProtoMessage() {} + +func (x *StRelationInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[44] + 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 StRelationInfo.ProtoReflect.Descriptor instead. +func (*StRelationInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{44} +} + +func (x *StRelationInfo) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StRelationInfo) GetRelation() uint32 { + if x != nil && x.Relation != nil { + return *x.Relation + } + return 0 +} + +func (x *StRelationInfo) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StRelationInfo) GetRelationState() uint32 { + if x != nil && x.RelationState != nil { + return *x.RelationState + } + return 0 +} + +func (x *StRelationInfo) GetScore() uint32 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +func (x *StRelationInfo) GetIsBlock() bool { + if x != nil && x.IsBlock != nil { + return *x.IsBlock + } + return false +} + +func (x *StRelationInfo) GetIsBlocked() bool { + if x != nil && x.IsBlocked != nil { + return *x.IsBlocked + } + return false +} + +func (x *StRelationInfo) GetIsFriend() bool { + if x != nil && x.IsFriend != nil { + return *x.IsFriend + } + return false +} + +func (x *StRelationInfo) GetIsUncare() bool { + if x != nil && x.IsUncare != nil { + return *x.IsUncare + } + return false +} + +func (x *StRelationInfo) GetImBitMap() uint64 { + if x != nil && x.ImBitMap != nil { + return *x.ImBitMap + } + return 0 +} + +type StReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + PostUser *StUser `protobuf:"bytes,2,opt,name=postUser" json:"postUser,omitempty"` + CreateTime *uint64 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` + Content *string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` + TargetUser *StUser `protobuf:"bytes,5,opt,name=targetUser" json:"targetUser,omitempty"` + BusiData []byte `protobuf:"bytes,6,opt,name=busiData" json:"busiData,omitempty"` + LikeInfo *StLike `protobuf:"bytes,7,opt,name=likeInfo" json:"likeInfo,omitempty"` + TypeFlag *uint32 `protobuf:"varint,8,opt,name=typeFlag" json:"typeFlag,omitempty"` + Modifyflag *uint32 `protobuf:"varint,9,opt,name=modifyflag" json:"modifyflag,omitempty"` + AtUinList []string `protobuf:"bytes,10,rep,name=atUinList" json:"atUinList,omitempty"` + TypeFlag2 *uint32 `protobuf:"varint,11,opt,name=typeFlag2" json:"typeFlag2,omitempty"` + CreateTimeNs *uint64 `protobuf:"varint,12,opt,name=createTimeNs" json:"createTimeNs,omitempty"` + StoreExtInfo []*CommonEntry `protobuf:"bytes,13,rep,name=storeExtInfo" json:"storeExtInfo,omitempty"` + ThirdId *string `protobuf:"bytes,14,opt,name=thirdId" json:"thirdId,omitempty"` + TargetReplyID *string `protobuf:"bytes,15,opt,name=targetReplyID" json:"targetReplyID,omitempty"` + SourceType *uint32 `protobuf:"varint,16,opt,name=sourceType" json:"sourceType,omitempty"` + RichContents *StRichText `protobuf:"bytes,17,opt,name=richContents" json:"richContents,omitempty"` +} + +func (x *StReply) Reset() { + *x = StReply{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StReply) ProtoMessage() {} + +func (x *StReply) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[45] + 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 StReply.ProtoReflect.Descriptor instead. +func (*StReply) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{45} +} + +func (x *StReply) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StReply) GetPostUser() *StUser { + if x != nil { + return x.PostUser + } + return nil +} + +func (x *StReply) GetCreateTime() uint64 { + if x != nil && x.CreateTime != nil { + return *x.CreateTime + } + return 0 +} + +func (x *StReply) GetContent() string { + if x != nil && x.Content != nil { + return *x.Content + } + return "" +} + +func (x *StReply) GetTargetUser() *StUser { + if x != nil { + return x.TargetUser + } + return nil +} + +func (x *StReply) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StReply) GetLikeInfo() *StLike { + if x != nil { + return x.LikeInfo + } + return nil +} + +func (x *StReply) GetTypeFlag() uint32 { + if x != nil && x.TypeFlag != nil { + return *x.TypeFlag + } + return 0 +} + +func (x *StReply) GetModifyflag() uint32 { + if x != nil && x.Modifyflag != nil { + return *x.Modifyflag + } + return 0 +} + +func (x *StReply) GetAtUinList() []string { + if x != nil { + return x.AtUinList + } + return nil +} + +func (x *StReply) GetTypeFlag2() uint32 { + if x != nil && x.TypeFlag2 != nil { + return *x.TypeFlag2 + } + return 0 +} + +func (x *StReply) GetCreateTimeNs() uint64 { + if x != nil && x.CreateTimeNs != nil { + return *x.CreateTimeNs + } + return 0 +} + +func (x *StReply) GetStoreExtInfo() []*CommonEntry { + if x != nil { + return x.StoreExtInfo + } + return nil +} + +func (x *StReply) GetThirdId() string { + if x != nil && x.ThirdId != nil { + return *x.ThirdId + } + return "" +} + +func (x *StReply) GetTargetReplyID() string { + if x != nil && x.TargetReplyID != nil { + return *x.TargetReplyID + } + return "" +} + +func (x *StReply) GetSourceType() uint32 { + if x != nil && x.SourceType != nil { + return *x.SourceType + } + return 0 +} + +func (x *StReply) GetRichContents() *StRichText { + if x != nil { + return x.RichContents + } + return nil +} + +type StReportInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + BusiReport []byte `protobuf:"bytes,2,opt,name=busiReport" json:"busiReport,omitempty"` +} + +func (x *StReportInfo) Reset() { + *x = StReportInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StReportInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StReportInfo) ProtoMessage() {} + +func (x *StReportInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[46] + 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 StReportInfo.ProtoReflect.Descriptor instead. +func (*StReportInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{46} +} + +func (x *StReportInfo) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StReportInfo) GetBusiReport() []byte { + if x != nil { + return x.BusiReport + } + return nil +} + +type StRichText struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Contents []*StRichTextContent `protobuf:"bytes,1,rep,name=contents" json:"contents,omitempty"` +} + +func (x *StRichText) Reset() { + *x = StRichText{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRichText) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRichText) ProtoMessage() {} + +func (x *StRichText) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[47] + 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 StRichText.ProtoReflect.Descriptor instead. +func (*StRichText) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{47} +} + +func (x *StRichText) GetContents() []*StRichTextContent { + if x != nil { + return x.Contents + } + return nil +} + +type StRichTextAtContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` + GuildInfo *GuildChannelBaseGuildInfo `protobuf:"bytes,2,opt,name=guildInfo" json:"guildInfo,omitempty"` + RoleGroupId *GuildChannelBaseRoleGroupInfo `protobuf:"bytes,3,opt,name=roleGroupId" json:"roleGroupId,omitempty"` + User *StUser `protobuf:"bytes,4,opt,name=user" json:"user,omitempty"` +} + +func (x *StRichTextAtContent) Reset() { + *x = StRichTextAtContent{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRichTextAtContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRichTextAtContent) ProtoMessage() {} + +func (x *StRichTextAtContent) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[48] + 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 StRichTextAtContent.ProtoReflect.Descriptor instead. +func (*StRichTextAtContent) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{48} +} + +func (x *StRichTextAtContent) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StRichTextAtContent) GetGuildInfo() *GuildChannelBaseGuildInfo { + if x != nil { + return x.GuildInfo + } + return nil +} + +func (x *StRichTextAtContent) GetRoleGroupId() *GuildChannelBaseRoleGroupInfo { + if x != nil { + return x.RoleGroupId + } + return nil +} + +func (x *StRichTextAtContent) GetUser() *StUser { + if x != nil { + return x.User + } + return nil +} + +type GuildChannelBaseGuildInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + JoinTime *uint64 `protobuf:"varint,3,opt,name=joinTime" json:"joinTime,omitempty"` +} + +func (x *GuildChannelBaseGuildInfo) Reset() { + *x = GuildChannelBaseGuildInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GuildChannelBaseGuildInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuildChannelBaseGuildInfo) ProtoMessage() {} + +func (x *GuildChannelBaseGuildInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[49] + 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 GuildChannelBaseGuildInfo.ProtoReflect.Descriptor instead. +func (*GuildChannelBaseGuildInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{49} +} + +func (x *GuildChannelBaseGuildInfo) GetGuildId() uint64 { + if x != nil && x.GuildId != nil { + return *x.GuildId + } + return 0 +} + +func (x *GuildChannelBaseGuildInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *GuildChannelBaseGuildInfo) GetJoinTime() uint64 { + if x != nil && x.JoinTime != nil { + return *x.JoinTime + } + return 0 +} + +type GuildChannelBaseRoleGroupInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RoleId *uint64 `protobuf:"varint,1,opt,name=roleId" json:"roleId,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + Color *uint32 `protobuf:"varint,3,opt,name=color" json:"color,omitempty"` +} + +func (x *GuildChannelBaseRoleGroupInfo) Reset() { + *x = GuildChannelBaseRoleGroupInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GuildChannelBaseRoleGroupInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuildChannelBaseRoleGroupInfo) ProtoMessage() {} + +func (x *GuildChannelBaseRoleGroupInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[50] + 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 GuildChannelBaseRoleGroupInfo.ProtoReflect.Descriptor instead. +func (*GuildChannelBaseRoleGroupInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{50} +} + +func (x *GuildChannelBaseRoleGroupInfo) GetRoleId() uint64 { + if x != nil && x.RoleId != nil { + return *x.RoleId + } + return 0 +} + +func (x *GuildChannelBaseRoleGroupInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *GuildChannelBaseRoleGroupInfo) GetColor() uint32 { + if x != nil && x.Color != nil { + return *x.Color + } + return 0 +} + +type StRichTextChannelContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelInfo *StChannelInfo `protobuf:"bytes,1,opt,name=channelInfo" json:"channelInfo,omitempty"` +} + +func (x *StRichTextChannelContent) Reset() { + *x = StRichTextChannelContent{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRichTextChannelContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRichTextChannelContent) ProtoMessage() {} + +func (x *StRichTextChannelContent) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[51] + 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 StRichTextChannelContent.ProtoReflect.Descriptor instead. +func (*StRichTextChannelContent) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{51} +} + +func (x *StRichTextChannelContent) GetChannelInfo() *StChannelInfo { + if x != nil { + return x.ChannelInfo + } + return nil +} + +type StRichTextContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` + PatternId *string `protobuf:"bytes,2,opt,name=patternId" json:"patternId,omitempty"` + TextContent *StRichTextTextContent `protobuf:"bytes,3,opt,name=textContent" json:"textContent,omitempty"` + AtContent *StRichTextAtContent `protobuf:"bytes,4,opt,name=atContent" json:"atContent,omitempty"` + UrlContent *StRichTextURLContent `protobuf:"bytes,5,opt,name=urlContent" json:"urlContent,omitempty"` + EmojiContent *StRichTextEmojiContent `protobuf:"bytes,6,opt,name=emojiContent" json:"emojiContent,omitempty"` + ChannelContent *StRichTextChannelContent `protobuf:"bytes,7,opt,name=channelContent" json:"channelContent,omitempty"` +} + +func (x *StRichTextContent) Reset() { + *x = StRichTextContent{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRichTextContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRichTextContent) ProtoMessage() {} + +func (x *StRichTextContent) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[52] + 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 StRichTextContent.ProtoReflect.Descriptor instead. +func (*StRichTextContent) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{52} +} + +func (x *StRichTextContent) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StRichTextContent) GetPatternId() string { + if x != nil && x.PatternId != nil { + return *x.PatternId + } + return "" +} + +func (x *StRichTextContent) GetTextContent() *StRichTextTextContent { + if x != nil { + return x.TextContent + } + return nil +} + +func (x *StRichTextContent) GetAtContent() *StRichTextAtContent { + if x != nil { + return x.AtContent + } + return nil +} + +func (x *StRichTextContent) GetUrlContent() *StRichTextURLContent { + if x != nil { + return x.UrlContent + } + return nil +} + +func (x *StRichTextContent) GetEmojiContent() *StRichTextEmojiContent { + if x != nil { + return x.EmojiContent + } + return nil +} + +func (x *StRichTextContent) GetChannelContent() *StRichTextChannelContent { + if x != nil { + return x.ChannelContent + } + return nil +} + +type StRichTextEmojiContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Type *string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"` + Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` + Url *string `protobuf:"bytes,4,opt,name=url" json:"url,omitempty"` +} + +func (x *StRichTextEmojiContent) Reset() { + *x = StRichTextEmojiContent{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRichTextEmojiContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRichTextEmojiContent) ProtoMessage() {} + +func (x *StRichTextEmojiContent) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[53] + 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 StRichTextEmojiContent.ProtoReflect.Descriptor instead. +func (*StRichTextEmojiContent) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{53} +} + +func (x *StRichTextEmojiContent) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StRichTextEmojiContent) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *StRichTextEmojiContent) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *StRichTextEmojiContent) GetUrl() string { + if x != nil && x.Url != nil { + return *x.Url + } + return "" +} + +type StRichTextTextContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` +} + +func (x *StRichTextTextContent) Reset() { + *x = StRichTextTextContent{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRichTextTextContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRichTextTextContent) ProtoMessage() {} + +func (x *StRichTextTextContent) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[54] + 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 StRichTextTextContent.ProtoReflect.Descriptor instead. +func (*StRichTextTextContent) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{54} +} + +func (x *StRichTextTextContent) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +type StRichTextURLContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` + DisplayText *string `protobuf:"bytes,2,opt,name=displayText" json:"displayText,omitempty"` +} + +func (x *StRichTextURLContent) Reset() { + *x = StRichTextURLContent{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StRichTextURLContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StRichTextURLContent) ProtoMessage() {} + +func (x *StRichTextURLContent) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[55] + 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 StRichTextURLContent.ProtoReflect.Descriptor instead. +func (*StRichTextURLContent) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{55} +} + +func (x *StRichTextURLContent) GetUrl() string { + if x != nil && x.Url != nil { + return *x.Url + } + return "" +} + +func (x *StRichTextURLContent) GetDisplayText() string { + if x != nil && x.DisplayText != nil { + return *x.DisplayText + } + return "" +} + +type StSameTopicGuideInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsSameTopicGuide *uint32 `protobuf:"varint,1,opt,name=isSameTopicGuide" json:"isSameTopicGuide,omitempty"` + StayShowTime *int64 `protobuf:"varint,2,opt,name=stayShowTime" json:"stayShowTime,omitempty"` + HashTag *string `protobuf:"bytes,3,opt,name=hashTag" json:"hashTag,omitempty"` + Words *string `protobuf:"bytes,4,opt,name=words" json:"words,omitempty"` + JumpUrl *string `protobuf:"bytes,5,opt,name=jumpUrl" json:"jumpUrl,omitempty"` + ReportExt *string `protobuf:"bytes,6,opt,name=reportExt" json:"reportExt,omitempty"` +} + +func (x *StSameTopicGuideInfo) Reset() { + *x = StSameTopicGuideInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StSameTopicGuideInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StSameTopicGuideInfo) ProtoMessage() {} + +func (x *StSameTopicGuideInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[56] + 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 StSameTopicGuideInfo.ProtoReflect.Descriptor instead. +func (*StSameTopicGuideInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{56} +} + +func (x *StSameTopicGuideInfo) GetIsSameTopicGuide() uint32 { + if x != nil && x.IsSameTopicGuide != nil { + return *x.IsSameTopicGuide + } + return 0 +} + +func (x *StSameTopicGuideInfo) GetStayShowTime() int64 { + if x != nil && x.StayShowTime != nil { + return *x.StayShowTime + } + return 0 +} + +func (x *StSameTopicGuideInfo) GetHashTag() string { + if x != nil && x.HashTag != nil { + return *x.HashTag + } + return "" +} + +func (x *StSameTopicGuideInfo) GetWords() string { + if x != nil && x.Words != nil { + return *x.Words + } + return "" +} + +func (x *StSameTopicGuideInfo) GetJumpUrl() string { + if x != nil && x.JumpUrl != nil { + return *x.JumpUrl + } + return "" +} + +func (x *StSameTopicGuideInfo) GetReportExt() string { + if x != nil && x.ReportExt != nil { + return *x.ReportExt + } + return "" +} + +type StShare struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` + Desc *string `protobuf:"bytes,2,opt,name=desc" json:"desc,omitempty"` + Type *uint32 `protobuf:"varint,3,opt,name=type" json:"type,omitempty"` + Url *string `protobuf:"bytes,4,opt,name=url" json:"url,omitempty"` + Author *StUser `protobuf:"bytes,5,opt,name=author" json:"author,omitempty"` + Poster *StUser `protobuf:"bytes,6,opt,name=poster" json:"poster,omitempty"` + Videos []*StVideo `protobuf:"bytes,7,rep,name=videos" json:"videos,omitempty"` + Shorturl *string `protobuf:"bytes,8,opt,name=shorturl" json:"shorturl,omitempty"` + ShareCardInfo *string `protobuf:"bytes,9,opt,name=shareCardInfo" json:"shareCardInfo,omitempty"` + ShareQzoneInfo *StShareQzoneInfo `protobuf:"bytes,10,opt,name=shareQzoneInfo" json:"shareQzoneInfo,omitempty"` + Images []*StImage `protobuf:"bytes,11,rep,name=images" json:"images,omitempty"` + PublishTotalUser *uint32 `protobuf:"varint,12,opt,name=publishTotalUser" json:"publishTotalUser,omitempty"` + SharedCount *uint32 `protobuf:"varint,13,opt,name=sharedCount" json:"sharedCount,omitempty"` + ChannelShareInfo *StChannelShareInfo `protobuf:"bytes,14,opt,name=channelShareInfo" json:"channelShareInfo,omitempty"` +} + +func (x *StShare) Reset() { + *x = StShare{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StShare) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StShare) ProtoMessage() {} + +func (x *StShare) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[57] + 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 StShare.ProtoReflect.Descriptor instead. +func (*StShare) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{57} +} + +func (x *StShare) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *StShare) GetDesc() string { + if x != nil && x.Desc != nil { + return *x.Desc + } + return "" +} + +func (x *StShare) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StShare) GetUrl() string { + if x != nil && x.Url != nil { + return *x.Url + } + return "" +} + +func (x *StShare) GetAuthor() *StUser { + if x != nil { + return x.Author + } + return nil +} + +func (x *StShare) GetPoster() *StUser { + if x != nil { + return x.Poster + } + return nil +} + +func (x *StShare) GetVideos() []*StVideo { + if x != nil { + return x.Videos + } + return nil +} + +func (x *StShare) GetShorturl() string { + if x != nil && x.Shorturl != nil { + return *x.Shorturl + } + return "" +} + +func (x *StShare) GetShareCardInfo() string { + if x != nil && x.ShareCardInfo != nil { + return *x.ShareCardInfo + } + return "" +} + +func (x *StShare) GetShareQzoneInfo() *StShareQzoneInfo { + if x != nil { + return x.ShareQzoneInfo + } + return nil +} + +func (x *StShare) GetImages() []*StImage { + if x != nil { + return x.Images + } + return nil +} + +func (x *StShare) GetPublishTotalUser() uint32 { + if x != nil && x.PublishTotalUser != nil { + return *x.PublishTotalUser + } + return 0 +} + +func (x *StShare) GetSharedCount() uint32 { + if x != nil && x.SharedCount != nil { + return *x.SharedCount + } + return 0 +} + +func (x *StShare) GetChannelShareInfo() *StChannelShareInfo { + if x != nil { + return x.ChannelShareInfo + } + return nil +} + +type StShareQzoneInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Entrys []*CommonEntry `protobuf:"bytes,1,rep,name=entrys" json:"entrys,omitempty"` +} + +func (x *StShareQzoneInfo) Reset() { + *x = StShareQzoneInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StShareQzoneInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StShareQzoneInfo) ProtoMessage() {} + +func (x *StShareQzoneInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[58] + 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 StShareQzoneInfo.ProtoReflect.Descriptor instead. +func (*StShareQzoneInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{58} +} + +func (x *StShareQzoneInfo) GetEntrys() []*CommonEntry { + if x != nil { + return x.Entrys + } + return nil +} + +type StSingleMaterial struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaterialId *string `protobuf:"bytes,1,opt,name=materialId" json:"materialId,omitempty"` +} + +func (x *StSingleMaterial) Reset() { + *x = StSingleMaterial{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StSingleMaterial) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StSingleMaterial) ProtoMessage() {} + +func (x *StSingleMaterial) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[59] + 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 StSingleMaterial.ProtoReflect.Descriptor instead. +func (*StSingleMaterial) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{59} +} + +func (x *StSingleMaterial) GetMaterialId() string { + if x != nil && x.MaterialId != nil { + return *x.MaterialId + } + return "" +} + +type StSingleRecomReportInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReportID *string `protobuf:"bytes,1,opt,name=reportID" json:"reportID,omitempty"` + ReportData []byte `protobuf:"bytes,2,opt,name=reportData" json:"reportData,omitempty"` +} + +func (x *StSingleRecomReportInfo) Reset() { + *x = StSingleRecomReportInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StSingleRecomReportInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StSingleRecomReportInfo) ProtoMessage() {} + +func (x *StSingleRecomReportInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[60] + 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 StSingleRecomReportInfo.ProtoReflect.Descriptor instead. +func (*StSingleRecomReportInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{60} +} + +func (x *StSingleRecomReportInfo) GetReportID() string { + if x != nil && x.ReportID != nil { + return *x.ReportID + } + return "" +} + +func (x *StSingleRecomReportInfo) GetReportData() []byte { + if x != nil { + return x.ReportData + } + return nil +} + +type StTagInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TagId *string `protobuf:"bytes,1,opt,name=tagId" json:"tagId,omitempty"` + TagName *string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` + TagDec *string `protobuf:"bytes,3,opt,name=tagDec" json:"tagDec,omitempty"` + UserList []*StUser `protobuf:"bytes,4,rep,name=userList" json:"userList,omitempty"` + FeedList []*StFeedAbstract `protobuf:"bytes,5,rep,name=feedList" json:"feedList,omitempty"` + TagTotalUser *uint32 `protobuf:"varint,6,opt,name=tagTotalUser" json:"tagTotalUser,omitempty"` + TagTotalFeed *uint32 `protobuf:"varint,7,opt,name=tagTotalFeed" json:"tagTotalFeed,omitempty"` + TagWording *string `protobuf:"bytes,8,opt,name=tagWording" json:"tagWording,omitempty"` + TagType *uint32 `protobuf:"varint,9,opt,name=tagType" json:"tagType,omitempty"` + FollowState *uint32 `protobuf:"varint,10,opt,name=followState" json:"followState,omitempty"` + ShareInfo *StShare `protobuf:"bytes,11,opt,name=shareInfo" json:"shareInfo,omitempty"` + IsTop *uint32 `protobuf:"varint,12,opt,name=isTop" json:"isTop,omitempty"` + IsSelected *uint32 `protobuf:"varint,13,opt,name=isSelected" json:"isSelected,omitempty"` + UserViewHistory *int64 `protobuf:"varint,14,opt,name=userViewHistory" json:"userViewHistory,omitempty"` + Medal *StTagMedalInfo `protobuf:"bytes,15,opt,name=medal" json:"medal,omitempty"` + Status *uint32 `protobuf:"varint,16,opt,name=status" json:"status,omitempty"` + OptInfo *StTagOperateInfo `protobuf:"bytes,17,opt,name=optInfo" json:"optInfo,omitempty"` + TagBaseStatus *uint32 `protobuf:"varint,18,opt,name=tagBaseStatus" json:"tagBaseStatus,omitempty"` + IsRecommend *int32 `protobuf:"varint,19,opt,name=isRecommend" json:"isRecommend,omitempty"` + TagViewHistory *int64 `protobuf:"varint,20,opt,name=tagViewHistory" json:"tagViewHistory,omitempty"` + OperateIconUrl *string `protobuf:"bytes,21,opt,name=operateIconUrl" json:"operateIconUrl,omitempty"` + TagReport *string `protobuf:"bytes,99,opt,name=tagReport" json:"tagReport,omitempty"` + TagIconUrl *string `protobuf:"bytes,100,opt,name=tagIconUrl" json:"tagIconUrl,omitempty"` +} + +func (x *StTagInfo) Reset() { + *x = StTagInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StTagInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StTagInfo) ProtoMessage() {} + +func (x *StTagInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[61] + 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 StTagInfo.ProtoReflect.Descriptor instead. +func (*StTagInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{61} +} + +func (x *StTagInfo) GetTagId() string { + if x != nil && x.TagId != nil { + return *x.TagId + } + return "" +} + +func (x *StTagInfo) GetTagName() string { + if x != nil && x.TagName != nil { + return *x.TagName + } + return "" +} + +func (x *StTagInfo) GetTagDec() string { + if x != nil && x.TagDec != nil { + return *x.TagDec + } + return "" +} + +func (x *StTagInfo) GetUserList() []*StUser { + if x != nil { + return x.UserList + } + return nil +} + +func (x *StTagInfo) GetFeedList() []*StFeedAbstract { + if x != nil { + return x.FeedList + } + return nil +} + +func (x *StTagInfo) GetTagTotalUser() uint32 { + if x != nil && x.TagTotalUser != nil { + return *x.TagTotalUser + } + return 0 +} + +func (x *StTagInfo) GetTagTotalFeed() uint32 { + if x != nil && x.TagTotalFeed != nil { + return *x.TagTotalFeed + } + return 0 +} + +func (x *StTagInfo) GetTagWording() string { + if x != nil && x.TagWording != nil { + return *x.TagWording + } + return "" +} + +func (x *StTagInfo) GetTagType() uint32 { + if x != nil && x.TagType != nil { + return *x.TagType + } + return 0 +} + +func (x *StTagInfo) GetFollowState() uint32 { + if x != nil && x.FollowState != nil { + return *x.FollowState + } + return 0 +} + +func (x *StTagInfo) GetShareInfo() *StShare { + if x != nil { + return x.ShareInfo + } + return nil +} + +func (x *StTagInfo) GetIsTop() uint32 { + if x != nil && x.IsTop != nil { + return *x.IsTop + } + return 0 +} + +func (x *StTagInfo) GetIsSelected() uint32 { + if x != nil && x.IsSelected != nil { + return *x.IsSelected + } + return 0 +} + +func (x *StTagInfo) GetUserViewHistory() int64 { + if x != nil && x.UserViewHistory != nil { + return *x.UserViewHistory + } + return 0 +} + +func (x *StTagInfo) GetMedal() *StTagMedalInfo { + if x != nil { + return x.Medal + } + return nil +} + +func (x *StTagInfo) GetStatus() uint32 { + if x != nil && x.Status != nil { + return *x.Status + } + return 0 +} + +func (x *StTagInfo) GetOptInfo() *StTagOperateInfo { + if x != nil { + return x.OptInfo + } + return nil +} + +func (x *StTagInfo) GetTagBaseStatus() uint32 { + if x != nil && x.TagBaseStatus != nil { + return *x.TagBaseStatus + } + return 0 +} + +func (x *StTagInfo) GetIsRecommend() int32 { + if x != nil && x.IsRecommend != nil { + return *x.IsRecommend + } + return 0 +} + +func (x *StTagInfo) GetTagViewHistory() int64 { + if x != nil && x.TagViewHistory != nil { + return *x.TagViewHistory + } + return 0 +} + +func (x *StTagInfo) GetOperateIconUrl() string { + if x != nil && x.OperateIconUrl != nil { + return *x.OperateIconUrl + } + return "" +} + +func (x *StTagInfo) GetTagReport() string { + if x != nil && x.TagReport != nil { + return *x.TagReport + } + return "" +} + +func (x *StTagInfo) GetTagIconUrl() string { + if x != nil && x.TagIconUrl != nil { + return *x.TagIconUrl + } + return "" +} + +type StTagMedalInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TagID *string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` + TagName *string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` + Rank *uint64 `protobuf:"varint,3,opt,name=rank" json:"rank,omitempty"` +} + +func (x *StTagMedalInfo) Reset() { + *x = StTagMedalInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StTagMedalInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StTagMedalInfo) ProtoMessage() {} + +func (x *StTagMedalInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[62] + 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 StTagMedalInfo.ProtoReflect.Descriptor instead. +func (*StTagMedalInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{62} +} + +func (x *StTagMedalInfo) GetTagID() string { + if x != nil && x.TagID != nil { + return *x.TagID + } + return "" +} + +func (x *StTagMedalInfo) GetTagName() string { + if x != nil && x.TagName != nil { + return *x.TagName + } + return "" +} + +func (x *StTagMedalInfo) GetRank() uint64 { + if x != nil && x.Rank != nil { + return *x.Rank + } + return 0 +} + +type StTagOperateInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreateUser *string `protobuf:"bytes,1,opt,name=createUser" json:"createUser,omitempty"` + CoverURL *string `protobuf:"bytes,2,opt,name=coverURL" json:"coverURL,omitempty"` + Desc *string `protobuf:"bytes,3,opt,name=desc" json:"desc,omitempty"` + BackgroundURL *string `protobuf:"bytes,4,opt,name=backgroundURL" json:"backgroundURL,omitempty"` + BannerURL *string `protobuf:"bytes,5,opt,name=bannerURL" json:"bannerURL,omitempty"` + BannerSkipLink *string `protobuf:"bytes,6,opt,name=bannerSkipLink" json:"bannerSkipLink,omitempty"` + ActivityStartTime *int64 `protobuf:"varint,7,opt,name=activityStartTime" json:"activityStartTime,omitempty"` + ActivityEndTime *int64 `protobuf:"varint,8,opt,name=activityEndTime" json:"activityEndTime,omitempty"` + RecommendReason *string `protobuf:"bytes,9,opt,name=recommendReason" json:"recommendReason,omitempty"` + IsWhite *int32 `protobuf:"varint,10,opt,name=isWhite" json:"isWhite,omitempty"` + BeWhiteStartTime *int64 `protobuf:"varint,11,opt,name=beWhiteStartTime" json:"beWhiteStartTime,omitempty"` + BeWhiteEndTime *int64 `protobuf:"varint,12,opt,name=beWhiteEndTime" json:"beWhiteEndTime,omitempty"` + PublishSchema *string `protobuf:"bytes,13,opt,name=publishSchema" json:"publishSchema,omitempty"` +} + +func (x *StTagOperateInfo) Reset() { + *x = StTagOperateInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StTagOperateInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StTagOperateInfo) ProtoMessage() {} + +func (x *StTagOperateInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[63] + 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 StTagOperateInfo.ProtoReflect.Descriptor instead. +func (*StTagOperateInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{63} +} + +func (x *StTagOperateInfo) GetCreateUser() string { + if x != nil && x.CreateUser != nil { + return *x.CreateUser + } + return "" +} + +func (x *StTagOperateInfo) GetCoverURL() string { + if x != nil && x.CoverURL != nil { + return *x.CoverURL + } + return "" +} + +func (x *StTagOperateInfo) GetDesc() string { + if x != nil && x.Desc != nil { + return *x.Desc + } + return "" +} + +func (x *StTagOperateInfo) GetBackgroundURL() string { + if x != nil && x.BackgroundURL != nil { + return *x.BackgroundURL + } + return "" +} + +func (x *StTagOperateInfo) GetBannerURL() string { + if x != nil && x.BannerURL != nil { + return *x.BannerURL + } + return "" +} + +func (x *StTagOperateInfo) GetBannerSkipLink() string { + if x != nil && x.BannerSkipLink != nil { + return *x.BannerSkipLink + } + return "" +} + +func (x *StTagOperateInfo) GetActivityStartTime() int64 { + if x != nil && x.ActivityStartTime != nil { + return *x.ActivityStartTime + } + return 0 +} + +func (x *StTagOperateInfo) GetActivityEndTime() int64 { + if x != nil && x.ActivityEndTime != nil { + return *x.ActivityEndTime + } + return 0 +} + +func (x *StTagOperateInfo) GetRecommendReason() string { + if x != nil && x.RecommendReason != nil { + return *x.RecommendReason + } + return "" +} + +func (x *StTagOperateInfo) GetIsWhite() int32 { + if x != nil && x.IsWhite != nil { + return *x.IsWhite + } + return 0 +} + +func (x *StTagOperateInfo) GetBeWhiteStartTime() int64 { + if x != nil && x.BeWhiteStartTime != nil { + return *x.BeWhiteStartTime + } + return 0 +} + +func (x *StTagOperateInfo) GetBeWhiteEndTime() int64 { + if x != nil && x.BeWhiteEndTime != nil { + return *x.BeWhiteEndTime + } + return 0 +} + +func (x *StTagOperateInfo) GetPublishSchema() string { + if x != nil && x.PublishSchema != nil { + return *x.PublishSchema + } + return "" +} + +type StUnifiedTag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UnifiedType *string `protobuf:"bytes,1,opt,name=unifiedType" json:"unifiedType,omitempty"` + UnifiedId *string `protobuf:"bytes,2,opt,name=unifiedId" json:"unifiedId,omitempty"` +} + +func (x *StUnifiedTag) Reset() { + *x = StUnifiedTag{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StUnifiedTag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StUnifiedTag) ProtoMessage() {} + +func (x *StUnifiedTag) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[64] + 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 StUnifiedTag.ProtoReflect.Descriptor instead. +func (*StUnifiedTag) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{64} +} + +func (x *StUnifiedTag) GetUnifiedType() string { + if x != nil && x.UnifiedType != nil { + return *x.UnifiedType + } + return "" +} + +func (x *StUnifiedTag) GetUnifiedId() string { + if x != nil && x.UnifiedId != nil { + return *x.UnifiedId + } + return "" +} + +type StUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Nick *string `protobuf:"bytes,2,opt,name=nick" json:"nick,omitempty"` + Icon *StIconInfo `protobuf:"bytes,3,opt,name=icon" json:"icon,omitempty"` + Desc *string `protobuf:"bytes,4,opt,name=desc" json:"desc,omitempty"` + FollowState *uint32 `protobuf:"varint,5,opt,name=followState" json:"followState,omitempty"` + Type *uint32 `protobuf:"varint,6,opt,name=type" json:"type,omitempty"` + Sex *uint32 `protobuf:"varint,7,opt,name=sex" json:"sex,omitempty"` + Birthday *uint64 `protobuf:"varint,8,opt,name=birthday" json:"birthday,omitempty"` + School *string `protobuf:"bytes,9,opt,name=school" json:"school,omitempty"` + Location *string `protobuf:"bytes,11,opt,name=location" json:"location,omitempty"` + BusiData []byte `protobuf:"bytes,12,opt,name=busiData" json:"busiData,omitempty"` + FrdState *uint32 `protobuf:"varint,13,opt,name=frdState" json:"frdState,omitempty"` + RelationState *uint32 `protobuf:"varint,14,opt,name=relationState" json:"relationState,omitempty"` + BlackState *uint32 `protobuf:"varint,15,opt,name=blackState" json:"blackState,omitempty"` + Medal *StTagMedalInfo `protobuf:"bytes,16,opt,name=medal" json:"medal,omitempty"` + Constellation *int32 `protobuf:"varint,17,opt,name=constellation" json:"constellation,omitempty"` + JumpUrl *string `protobuf:"bytes,18,opt,name=jumpUrl" json:"jumpUrl,omitempty"` + LocationCode *string `protobuf:"bytes,19,opt,name=locationCode" json:"locationCode,omitempty"` + ThirdId *string `protobuf:"bytes,20,opt,name=thirdId" json:"thirdId,omitempty"` + Company *string `protobuf:"bytes,21,opt,name=company" json:"company,omitempty"` + CertificationDesc *string `protobuf:"bytes,22,opt,name=certificationDesc" json:"certificationDesc,omitempty"` + DescType *uint32 `protobuf:"varint,23,opt,name=descType" json:"descType,omitempty"` + ChannelUserInfo *GuildChannelBaseChannelUserInfo `protobuf:"bytes,24,opt,name=channelUserInfo" json:"channelUserInfo,omitempty"` + LoginId *string `protobuf:"bytes,25,opt,name=loginId" json:"loginId,omitempty"` +} + +func (x *StUser) Reset() { + *x = StUser{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StUser) ProtoMessage() {} + +func (x *StUser) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[65] + 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 StUser.ProtoReflect.Descriptor instead. +func (*StUser) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{65} +} + +func (x *StUser) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StUser) GetNick() string { + if x != nil && x.Nick != nil { + return *x.Nick + } + return "" +} + +func (x *StUser) GetIcon() *StIconInfo { + if x != nil { + return x.Icon + } + return nil +} + +func (x *StUser) GetDesc() string { + if x != nil && x.Desc != nil { + return *x.Desc + } + return "" +} + +func (x *StUser) GetFollowState() uint32 { + if x != nil && x.FollowState != nil { + return *x.FollowState + } + return 0 +} + +func (x *StUser) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StUser) GetSex() uint32 { + if x != nil && x.Sex != nil { + return *x.Sex + } + return 0 +} + +func (x *StUser) GetBirthday() uint64 { + if x != nil && x.Birthday != nil { + return *x.Birthday + } + return 0 +} + +func (x *StUser) GetSchool() string { + if x != nil && x.School != nil { + return *x.School + } + return "" +} + +func (x *StUser) GetLocation() string { + if x != nil && x.Location != nil { + return *x.Location + } + return "" +} + +func (x *StUser) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StUser) GetFrdState() uint32 { + if x != nil && x.FrdState != nil { + return *x.FrdState + } + return 0 +} + +func (x *StUser) GetRelationState() uint32 { + if x != nil && x.RelationState != nil { + return *x.RelationState + } + return 0 +} + +func (x *StUser) GetBlackState() uint32 { + if x != nil && x.BlackState != nil { + return *x.BlackState + } + return 0 +} + +func (x *StUser) GetMedal() *StTagMedalInfo { + if x != nil { + return x.Medal + } + return nil +} + +func (x *StUser) GetConstellation() int32 { + if x != nil && x.Constellation != nil { + return *x.Constellation + } + return 0 +} + +func (x *StUser) GetJumpUrl() string { + if x != nil && x.JumpUrl != nil { + return *x.JumpUrl + } + return "" +} + +func (x *StUser) GetLocationCode() string { + if x != nil && x.LocationCode != nil { + return *x.LocationCode + } + return "" +} + +func (x *StUser) GetThirdId() string { + if x != nil && x.ThirdId != nil { + return *x.ThirdId + } + return "" +} + +func (x *StUser) GetCompany() string { + if x != nil && x.Company != nil { + return *x.Company + } + return "" +} + +func (x *StUser) GetCertificationDesc() string { + if x != nil && x.CertificationDesc != nil { + return *x.CertificationDesc + } + return "" +} + +func (x *StUser) GetDescType() uint32 { + if x != nil && x.DescType != nil { + return *x.DescType + } + return 0 +} + +func (x *StUser) GetChannelUserInfo() *GuildChannelBaseChannelUserInfo { + if x != nil { + return x.ChannelUserInfo + } + return nil +} + +func (x *StUser) GetLoginId() string { + if x != nil && x.LoginId != nil { + return *x.LoginId + } + return "" +} + +type GuildChannelBaseChannelUserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientIdentity *ClientIdentity `protobuf:"bytes,1,opt,name=clientIdentity" json:"clientIdentity,omitempty"` + MemberType *uint32 `protobuf:"varint,2,opt,name=memberType" json:"memberType,omitempty"` + // optional ChannelUserPermission permission = 3; + RoleGroups []*GuildChannelBaseRoleGroupInfo `protobuf:"bytes,4,rep,name=roleGroups" json:"roleGroups,omitempty"` +} + +func (x *GuildChannelBaseChannelUserInfo) Reset() { + *x = GuildChannelBaseChannelUserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GuildChannelBaseChannelUserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuildChannelBaseChannelUserInfo) ProtoMessage() {} + +func (x *GuildChannelBaseChannelUserInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[66] + 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 GuildChannelBaseChannelUserInfo.ProtoReflect.Descriptor instead. +func (*GuildChannelBaseChannelUserInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{66} +} + +func (x *GuildChannelBaseChannelUserInfo) GetClientIdentity() *ClientIdentity { + if x != nil { + return x.ClientIdentity + } + return nil +} + +func (x *GuildChannelBaseChannelUserInfo) GetMemberType() uint32 { + if x != nil && x.MemberType != nil { + return *x.MemberType + } + return 0 +} + +func (x *GuildChannelBaseChannelUserInfo) GetRoleGroups() []*GuildChannelBaseRoleGroupInfo { + if x != nil { + return x.RoleGroups + } + return nil +} + +type StUserGroupInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + UserList []*StUser `protobuf:"bytes,3,rep,name=userList" json:"userList,omitempty"` +} + +func (x *StUserGroupInfo) Reset() { + *x = StUserGroupInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StUserGroupInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StUserGroupInfo) ProtoMessage() {} + +func (x *StUserGroupInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[67] + 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 StUserGroupInfo.ProtoReflect.Descriptor instead. +func (*StUserGroupInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{67} +} + +func (x *StUserGroupInfo) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *StUserGroupInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *StUserGroupInfo) GetUserList() []*StUser { + if x != nil { + return x.UserList + } + return nil +} + +type StUserRecomInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + User *StUser `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"` + FeedList []*StFeedAbstract `protobuf:"bytes,2,rep,name=feedList" json:"feedList,omitempty"` + BusiData []byte `protobuf:"bytes,3,opt,name=busiData" json:"busiData,omitempty"` +} + +func (x *StUserRecomInfo) Reset() { + *x = StUserRecomInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StUserRecomInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StUserRecomInfo) ProtoMessage() {} + +func (x *StUserRecomInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[68] + 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 StUserRecomInfo.ProtoReflect.Descriptor instead. +func (*StUserRecomInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{68} +} + +func (x *StUserRecomInfo) GetUser() *StUser { + if x != nil { + return x.User + } + return nil +} + +func (x *StUserRecomInfo) GetFeedList() []*StFeedAbstract { + if x != nil { + return x.FeedList + } + return nil +} + +func (x *StUserRecomInfo) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +type StVideo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileId *string `protobuf:"bytes,1,opt,name=fileId" json:"fileId,omitempty"` + FileSize *uint32 `protobuf:"varint,2,opt,name=fileSize" json:"fileSize,omitempty"` + Duration *uint32 `protobuf:"varint,3,opt,name=duration" json:"duration,omitempty"` + Width *uint32 `protobuf:"varint,4,opt,name=width" json:"width,omitempty"` + Height *uint32 `protobuf:"varint,5,opt,name=height" json:"height,omitempty"` + PlayUrl *string `protobuf:"bytes,6,opt,name=playUrl" json:"playUrl,omitempty"` + TransStatus *uint32 `protobuf:"varint,7,opt,name=transStatus" json:"transStatus,omitempty"` + VideoPrior *uint32 `protobuf:"varint,8,opt,name=videoPrior" json:"videoPrior,omitempty"` + VideoRate *uint32 `protobuf:"varint,9,opt,name=videoRate" json:"videoRate,omitempty"` + VecVideoUrl []*StVideoUrl `protobuf:"bytes,10,rep,name=vecVideoUrl" json:"vecVideoUrl,omitempty"` + BusiData []byte `protobuf:"bytes,11,opt,name=busiData" json:"busiData,omitempty"` + ApprovalStatus *uint32 `protobuf:"varint,12,opt,name=approvalStatus" json:"approvalStatus,omitempty"` + VideoSource *uint32 `protobuf:"varint,13,opt,name=videoSource" json:"videoSource,omitempty"` + MediaQualityRank *uint32 `protobuf:"varint,14,opt,name=mediaQualityRank" json:"mediaQualityRank,omitempty"` + MediaQualityScore *float32 `protobuf:"fixed32,15,opt,name=mediaQualityScore" json:"mediaQualityScore,omitempty"` + VideoMD5 *string `protobuf:"bytes,16,opt,name=videoMD5" json:"videoMD5,omitempty"` + IsQuic *uint32 `protobuf:"varint,17,opt,name=isQuic" json:"isQuic,omitempty"` + Orientation *uint32 `protobuf:"varint,18,opt,name=orientation" json:"orientation,omitempty"` + Cover *StImage `protobuf:"bytes,19,opt,name=cover" json:"cover,omitempty"` + PatternId *string `protobuf:"bytes,20,opt,name=patternId" json:"patternId,omitempty"` + DisplayIndex *uint32 `protobuf:"varint,21,opt,name=displayIndex" json:"displayIndex,omitempty"` +} + +func (x *StVideo) Reset() { + *x = StVideo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StVideo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StVideo) ProtoMessage() {} + +func (x *StVideo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[69] + 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 StVideo.ProtoReflect.Descriptor instead. +func (*StVideo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{69} +} + +func (x *StVideo) GetFileId() string { + if x != nil && x.FileId != nil { + return *x.FileId + } + return "" +} + +func (x *StVideo) GetFileSize() uint32 { + if x != nil && x.FileSize != nil { + return *x.FileSize + } + return 0 +} + +func (x *StVideo) GetDuration() uint32 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *StVideo) GetWidth() uint32 { + if x != nil && x.Width != nil { + return *x.Width + } + return 0 +} + +func (x *StVideo) GetHeight() uint32 { + if x != nil && x.Height != nil { + return *x.Height + } + return 0 +} + +func (x *StVideo) GetPlayUrl() string { + if x != nil && x.PlayUrl != nil { + return *x.PlayUrl + } + return "" +} + +func (x *StVideo) GetTransStatus() uint32 { + if x != nil && x.TransStatus != nil { + return *x.TransStatus + } + return 0 +} + +func (x *StVideo) GetVideoPrior() uint32 { + if x != nil && x.VideoPrior != nil { + return *x.VideoPrior + } + return 0 +} + +func (x *StVideo) GetVideoRate() uint32 { + if x != nil && x.VideoRate != nil { + return *x.VideoRate + } + return 0 +} + +func (x *StVideo) GetVecVideoUrl() []*StVideoUrl { + if x != nil { + return x.VecVideoUrl + } + return nil +} + +func (x *StVideo) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StVideo) GetApprovalStatus() uint32 { + if x != nil && x.ApprovalStatus != nil { + return *x.ApprovalStatus + } + return 0 +} + +func (x *StVideo) GetVideoSource() uint32 { + if x != nil && x.VideoSource != nil { + return *x.VideoSource + } + return 0 +} + +func (x *StVideo) GetMediaQualityRank() uint32 { + if x != nil && x.MediaQualityRank != nil { + return *x.MediaQualityRank + } + return 0 +} + +func (x *StVideo) GetMediaQualityScore() float32 { + if x != nil && x.MediaQualityScore != nil { + return *x.MediaQualityScore + } + return 0 +} + +func (x *StVideo) GetVideoMD5() string { + if x != nil && x.VideoMD5 != nil { + return *x.VideoMD5 + } + return "" +} + +func (x *StVideo) GetIsQuic() uint32 { + if x != nil && x.IsQuic != nil { + return *x.IsQuic + } + return 0 +} + +func (x *StVideo) GetOrientation() uint32 { + if x != nil && x.Orientation != nil { + return *x.Orientation + } + return 0 +} + +func (x *StVideo) GetCover() *StImage { + if x != nil { + return x.Cover + } + return nil +} + +func (x *StVideo) GetPatternId() string { + if x != nil && x.PatternId != nil { + return *x.PatternId + } + return "" +} + +func (x *StVideo) GetDisplayIndex() uint32 { + if x != nil && x.DisplayIndex != nil { + return *x.DisplayIndex + } + return 0 +} + +type StVideoUrl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LevelType *uint32 `protobuf:"varint,1,opt,name=levelType" json:"levelType,omitempty"` + PlayUrl *string `protobuf:"bytes,2,opt,name=playUrl" json:"playUrl,omitempty"` + VideoPrior *uint32 `protobuf:"varint,3,opt,name=videoPrior" json:"videoPrior,omitempty"` + VideoRate *uint32 `protobuf:"varint,4,opt,name=videoRate" json:"videoRate,omitempty"` + TransStatus *uint32 `protobuf:"varint,5,opt,name=transStatus" json:"transStatus,omitempty"` + BusiData []byte `protobuf:"bytes,6,opt,name=busiData" json:"busiData,omitempty"` + HasWatermark *bool `protobuf:"varint,7,opt,name=hasWatermark" json:"hasWatermark,omitempty"` +} + +func (x *StVideoUrl) Reset() { + *x = StVideoUrl{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StVideoUrl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StVideoUrl) ProtoMessage() {} + +func (x *StVideoUrl) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[70] + 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 StVideoUrl.ProtoReflect.Descriptor instead. +func (*StVideoUrl) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{70} +} + +func (x *StVideoUrl) GetLevelType() uint32 { + if x != nil && x.LevelType != nil { + return *x.LevelType + } + return 0 +} + +func (x *StVideoUrl) GetPlayUrl() string { + if x != nil && x.PlayUrl != nil { + return *x.PlayUrl + } + return "" +} + +func (x *StVideoUrl) GetVideoPrior() uint32 { + if x != nil && x.VideoPrior != nil { + return *x.VideoPrior + } + return 0 +} + +func (x *StVideoUrl) GetVideoRate() uint32 { + if x != nil && x.VideoRate != nil { + return *x.VideoRate + } + return 0 +} + +func (x *StVideoUrl) GetTransStatus() uint32 { + if x != nil && x.TransStatus != nil { + return *x.TransStatus + } + return 0 +} + +func (x *StVideoUrl) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StVideoUrl) GetHasWatermark() bool { + if x != nil && x.HasWatermark != nil { + return *x.HasWatermark + } + return false +} + +type StVisitor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ViewCount *uint32 `protobuf:"varint,1,opt,name=viewCount" json:"viewCount,omitempty"` + BusiData []byte `protobuf:"bytes,2,opt,name=busiData" json:"busiData,omitempty"` + RecomCount *uint32 `protobuf:"varint,3,opt,name=recomCount" json:"recomCount,omitempty"` + ViewDesc *string `protobuf:"bytes,4,opt,name=viewDesc" json:"viewDesc,omitempty"` +} + +func (x *StVisitor) Reset() { + *x = StVisitor{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StVisitor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StVisitor) ProtoMessage() {} + +func (x *StVisitor) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[71] + 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 StVisitor.ProtoReflect.Descriptor instead. +func (*StVisitor) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{71} +} + +func (x *StVisitor) GetViewCount() uint32 { + if x != nil && x.ViewCount != nil { + return *x.ViewCount + } + return 0 +} + +func (x *StVisitor) GetBusiData() []byte { + if x != nil { + return x.BusiData + } + return nil +} + +func (x *StVisitor) GetRecomCount() uint32 { + if x != nil && x.RecomCount != nil { + return *x.RecomCount + } + return 0 +} + +func (x *StVisitor) GetViewDesc() string { + if x != nil && x.ViewDesc != nil { + return *x.ViewDesc + } + return "" +} + +type StWearingMedal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MedalInfos []*StWearingMedalInfo `protobuf:"bytes,1,rep,name=medalInfos" json:"medalInfos,omitempty"` +} + +func (x *StWearingMedal) Reset() { + *x = StWearingMedal{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StWearingMedal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StWearingMedal) ProtoMessage() {} + +func (x *StWearingMedal) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[72] + 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 StWearingMedal.ProtoReflect.Descriptor instead. +func (*StWearingMedal) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{72} +} + +func (x *StWearingMedal) GetMedalInfos() []*StWearingMedalInfo { + if x != nil { + return x.MedalInfos + } + return nil +} + +type StWearingMedalInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` + MedalName *string `protobuf:"bytes,2,opt,name=medalName" json:"medalName,omitempty"` + MedalID *string `protobuf:"bytes,3,opt,name=medalID" json:"medalID,omitempty"` +} + +func (x *StWearingMedalInfo) Reset() { + *x = StWearingMedalInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StWearingMedalInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StWearingMedalInfo) ProtoMessage() {} + +func (x *StWearingMedalInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[73] + 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 StWearingMedalInfo.ProtoReflect.Descriptor instead. +func (*StWearingMedalInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP(), []int{73} +} + +func (x *StWearingMedalInfo) GetType() int32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StWearingMedalInfo) GetMedalName() string { + if x != nil && x.MedalName != nil { + return *x.MedalName + } + return "" +} + +func (x *StWearingMedalInfo) GetMedalID() string { + if x != nil && x.MedalID != nil { + return *x.MedalID + } + return "" +} + +var File_pb_channel_GuildFeedCloudMeta_proto protoreflect.FileDescriptor + +var file_pb_channel_GuildFeedCloudMeta_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x20, + 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x53, 0x76, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x21, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0x6e, 0x0a, 0x0c, 0x46, 0x65, 0x65, + 0x64, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x15, 0x46, 0x65, + 0x65, 0x64, 0x52, 0x65, 0x64, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3d, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x69, 0x63, + 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x96, 0x01, 0x0a, 0x14, 0x52, 0x69, 0x63, 0x68, 0x54, + 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x78, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x74, 0x65, 0x78, 0x74, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x61, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x6d, + 0x6f, 0x6a, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x22, + 0x7b, 0x0a, 0x0b, 0x53, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x22, 0x0a, 0x0c, + 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x10, + 0x53, 0x74, 0x42, 0x75, 0x73, 0x69, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x53, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x53, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x16, 0x0a, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x41, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, + 0x69, 0x67, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x12, + 0x2f, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, + 0x22, 0x46, 0x0a, 0x12, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x43, + 0x69, 0x72, 0x63, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, + 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x69, 0x72, 0x63, 0x6c, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x75, 0x65, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x75, 0x65, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x44, 0x22, 0x68, 0x0a, 0x0c, 0x53, 0x74, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, + 0x64, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x6b, 0x65, 0x79, 0x12, + 0x32, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x4d, 0x61, 0x70, 0x22, 0xc2, 0x04, 0x0a, 0x09, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x2b, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6c, + 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x76, 0x65, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x08, 0x76, 0x65, + 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x4c, 0x69, 0x6b, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x1a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x74, 0x55, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x74, 0x55, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x79, 0x70, + 0x65, 0x46, 0x6c, 0x61, 0x67, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x79, + 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x32, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x45, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x78, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x69, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x69, 0x72, 0x64, 0x49, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x37, 0x0a, 0x0c, 0x72, 0x69, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x72, 0x69, 0x63, 0x68, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x0b, 0x53, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x08, 0x64, 0x65, 0x62, 0x75, 0x67, + 0x4d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x08, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4d, 0x61, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x53, 0x74, + 0x44, 0x69, 0x74, 0x74, 0x6f, 0x46, 0x65, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x74, + 0x74, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x69, 0x74, 0x74, + 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x69, 0x74, 0x74, 0x6f, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x74, + 0x74, 0x6f, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x74, 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, + 0x64, 0x69, 0x74, 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x74, + 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0c, 0x64, 0x69, 0x74, 0x74, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x65, 0x77, 0x22, 0x34, 0x0a, + 0x0a, 0x53, 0x74, 0x45, 0x78, 0x69, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x03, 0x6b, + 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, + 0x6b, 0x76, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x57, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x22, 0x0a, 0x0c, 0x6e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x64, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, + 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x64, + 0x61, 0x6c, 0x57, 0x61, 0x6c, 0x6c, 0x4a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x57, 0x61, 0x6c, 0x6c, 0x4a, 0x75, + 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x53, 0x68, 0x6f, + 0x77, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x6e, 0x65, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, + 0x65, 0x22, 0xb6, 0x08, 0x0a, 0x06, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x52, 0x08, + 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x28, 0x0a, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x52, 0x06, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x2f, 0x0a, 0x08, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, + 0x78, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0f, + 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x76, 0x65, + 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x0a, 0x76, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x52, + 0x0b, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x06, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x70, 0x6f, 0x69, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x50, 0x6f, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, 0x52, 0x07, 0x70, + 0x6f, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x49, 0x6e, 0x66, + 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x54, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x74, 0x61, + 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x73, 0x69, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x75, 0x73, 0x69, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x4d, 0x61, 0x73, 0x6b, + 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x70, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x29, + 0x0a, 0x06, 0x6f, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x4f, 0x70, 0x69, 0x6e, 0x66, + 0x6f, 0x52, 0x06, 0x6f, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x0b, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x30, 0x0a, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x09, 0x72, + 0x65, 0x63, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x29, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0xf1, 0x02, 0x0a, 0x0e, 0x53, + 0x74, 0x46, 0x65, 0x65, 0x64, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x03, + 0x70, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x03, 0x70, 0x69, 0x63, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x18, 0x0a, 0x07, + 0x66, 0x75, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, + 0x75, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x28, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6b, + 0x0a, 0x0b, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, + 0x6b, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2f, 0x0a, 0x0d, 0x53, + 0x74, 0x46, 0x65, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, + 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xba, 0x01, 0x0a, + 0x11, 0x53, 0x74, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x65, 0x78, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x65, + 0x78, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0b, + 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x63, + 0x6f, 0x6d, 0x6d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, + 0x65, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x54, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x65, 0x78, 0x74, 0x22, 0x34, 0x0a, 0x0c, 0x53, 0x74, 0x46, + 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x69, 0x63, 0x6b, 0x22, + 0x55, 0x0a, 0x07, 0x53, 0x74, 0x47, 0x50, 0x53, 0x56, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x61, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6c, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x6c, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6c, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x61, 0x6c, 0x74, 0x22, 0x7c, 0x0a, 0x14, 0x53, 0x74, 0x47, 0x75, 0x69, 0x64, + 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, + 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6a, 0x75, + 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, + 0x70, 0x55, 0x72, 0x6c, 0x22, 0xa4, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x34, 0x30, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x34, + 0x30, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x31, 0x30, 0x30, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x31, 0x30, + 0x30, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x31, 0x34, 0x30, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x31, 0x34, + 0x30, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x36, 0x34, 0x30, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x36, 0x34, + 0x30, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xb8, 0x02, 0x0a, 0x07, + 0x53, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, + 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x12, 0x35, 0x0a, + 0x0b, 0x76, 0x65, 0x63, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, + 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, + 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, + 0x44, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, + 0x44, 0x35, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x69, 0x63, 0x55, 0x72, + 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x69, + 0x63, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x86, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x22, + 0xa1, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, + 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, + 0x61, 0x74, 0x61, 0x22, 0x9c, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x07, + 0x76, 0x65, 0x63, 0x55, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x07, + 0x76, 0x65, 0x63, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, + 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x4c, 0x69, 0x6b, 0x65, + 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6a, 0x75, 0x6d, 0x70, + 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, + 0x72, 0x6c, 0x22, 0xd2, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x4c, 0x69, 0x74, 0x65, 0x42, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x73, 0x6f, + 0x6e, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x73, + 0x6f, 0x6e, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x76, 0x0a, 0x11, 0x53, 0x74, 0x4d, 0x61, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x65, 0x77, 0x12, 0x22, 0x0a, 0x0c, + 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x3d, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x2e, 0x53, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0xbd, 0x02, 0x0a, 0x0b, 0x53, 0x74, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, + 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x48, 0x69, 0x67, 0x68, 0x4c, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x18, 0x0a, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, + 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, + 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x62, + 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x72, + 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0xa5, 0x01, 0x0a, 0x08, 0x53, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x07, + 0x70, 0x73, 0x76, 0x46, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x52, 0x07, + 0x70, 0x73, 0x76, 0x46, 0x65, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x65, 0x46, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x52, 0x0b, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x61, + 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, + 0x65, 0x50, 0x61, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x61, 0x74, + 0x74, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x69, 0x0a, 0x12, 0x53, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, + 0x0a, 0x70, 0x61, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x70, 0x61, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x54, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x50, 0x6c, 0x61, 0x69, + 0x6e, 0x54, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x54, + 0x78, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x54, + 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x4f, 0x66, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, + 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, + 0x66, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x08, 0x53, 0x74, + 0x4f, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x7c, 0x0a, 0x0e, 0x53, 0x74, 0x50, 0x6c, 0x61, 0x69, + 0x6e, 0x54, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x07, 0x74, 0x78, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x54, 0x78, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x74, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x04, 0x0a, 0x0b, 0x53, 0x74, 0x50, 0x6f, 0x69, 0x49, 0x6e, + 0x66, 0x6f, 0x56, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6f, 0x69, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x70, 0x6f, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x22, 0x0a, 0x03, 0x67, 0x70, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x47, 0x50, 0x53, 0x56, + 0x32, 0x52, 0x03, 0x67, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, + 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, + 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x70, 0x6f, 0x69, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x69, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x6f, + 0x69, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x6e, + 0x50, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, + 0x61, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x78, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6d, + 0x0a, 0x12, 0x53, 0x74, 0x50, 0x72, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x46, 0x65, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x7b, 0x0a, + 0x0b, 0x53, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6d, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6d, 0x64, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x43, 0x6d, 0x64, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x75, 0x62, 0x43, 0x6d, 0x64, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x53, + 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x23, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x12, 0x33, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x72, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x52, + 0x65, 0x63, 0x6f, 0x6d, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x27, 0x0a, + 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, + 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, + 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, + 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe5, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x52, 0x65, 0x63, + 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, + 0x6f, 0x6d, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x54, 0x72, 0x61, + 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x6c, + 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x63, + 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x63, 0x6f, + 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, + 0x65, 0x63, 0x6f, 0x6d, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x55, + 0x0a, 0x11, 0x53, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, + 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xa0, 0x02, 0x0a, 0x0e, 0x53, 0x74, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, + 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x63, 0x61, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x63, 0x61, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x6d, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x69, 0x6d, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x22, 0xe9, 0x04, 0x0a, 0x07, 0x53, 0x74, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, + 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x08, 0x6c, 0x69, 0x6b, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x4c, 0x69, 0x6b, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x6b, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, + 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x6c, 0x61, 0x67, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x6c, 0x61, + 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x74, 0x55, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x74, 0x55, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x32, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x32, 0x12, 0x22, 0x0a, + 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, + 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x45, 0x78, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x45, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74, + 0x68, 0x69, 0x72, 0x64, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, + 0x69, 0x72, 0x64, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x72, + 0x69, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, + 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x72, 0x69, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3e, 0x0a, 0x0c, 0x53, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x73, 0x69, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x75, 0x73, 0x69, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x22, 0x44, 0x0a, 0x0a, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, + 0x78, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x13, 0x53, + 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x41, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x42, 0x61, 0x73, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0b, 0x72, 0x6f, 0x6c, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x49, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x65, 0x0a, 0x19, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x61, + 0x0a, 0x1d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, + 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x22, 0x54, 0x0a, 0x18, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x92, 0x03, 0x0a, 0x11, 0x53, 0x74, 0x52, 0x69, + 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x64, 0x12, + 0x40, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x41, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x09, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, + 0x0a, 0x75, 0x72, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, + 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x0c, + 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, + 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x16, + 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, + 0x22, 0x2b, 0x0a, 0x15, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x54, 0x65, + 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4a, 0x0a, + 0x14, 0x53, 0x74, 0x52, 0x69, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x55, 0x52, 0x4c, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x22, 0xce, 0x01, 0x0a, 0x14, 0x53, 0x74, + 0x53, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x47, 0x75, 0x69, 0x64, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x53, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x70, 0x69, + 0x63, 0x47, 0x75, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x69, 0x73, + 0x53, 0x61, 0x6d, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x47, 0x75, 0x69, 0x64, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, + 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x6f, 0x72, + 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x78, 0x74, 0x22, 0x9b, 0x04, 0x0a, 0x07, 0x53, + 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, + 0x27, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x06, 0x76, 0x69, 0x64, 0x65, + 0x6f, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x06, 0x76, 0x69, 0x64, 0x65, + 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x24, + 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x61, 0x72, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x51, 0x7a, 0x6f, + 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x51, 0x7a, + 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x51, 0x7a, + 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x12, 0x20, 0x0a, + 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x47, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x40, 0x0a, 0x10, 0x53, 0x74, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x51, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x06, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x73, 0x22, 0x32, 0x0a, 0x10, 0x53, 0x74, + 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x22, 0x55, + 0x0a, 0x17, 0x53, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0xbb, 0x06, 0x0a, 0x09, 0x53, 0x74, 0x54, 0x61, 0x67, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x44, 0x65, 0x63, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x44, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x41, 0x62, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, + 0x0c, 0x74, 0x61, 0x67, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x61, 0x67, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, 0x67, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x61, 0x67, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x46, 0x65, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x67, 0x57, 0x6f, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x67, 0x57, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x54, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x69, 0x73, 0x54, 0x6f, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x73, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x56, + 0x69, 0x65, 0x77, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x54, 0x61, 0x67, + 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x61, 0x6c, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x54, 0x61, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, + 0x0d, 0x74, 0x61, 0x67, 0x42, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x67, 0x42, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x67, 0x56, 0x69, 0x65, 0x77, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, + 0x61, 0x67, 0x56, 0x69, 0x65, 0x77, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x0a, + 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x63, + 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x67, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x67, 0x49, 0x63, 0x6f, 0x6e, 0x55, 0x72, + 0x6c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x67, 0x49, 0x63, 0x6f, 0x6e, + 0x55, 0x72, 0x6c, 0x22, 0x54, 0x0a, 0x0e, 0x53, 0x74, 0x54, 0x61, 0x67, 0x4d, 0x65, 0x64, 0x61, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x67, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x74, + 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, + 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x22, 0xe4, 0x03, 0x0a, 0x10, 0x53, 0x74, + 0x54, 0x61, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x52, 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x52, 0x4c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, + 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x24, + 0x0a, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x52, 0x4c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x55, 0x52, + 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x55, + 0x52, 0x4c, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x70, + 0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x53, 0x6b, 0x69, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x69, 0x73, 0x57, 0x68, 0x69, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, + 0x73, 0x57, 0x68, 0x69, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x65, 0x57, 0x68, 0x69, 0x74, + 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x10, 0x62, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x65, 0x57, 0x68, 0x69, 0x74, 0x65, 0x45, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x62, 0x65, 0x57, 0x68, + 0x69, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x22, 0x4e, 0x0a, 0x0c, 0x53, 0x74, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x61, 0x67, + 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x49, 0x64, + 0x22, 0xfe, 0x05, 0x0a, 0x06, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x69, 0x63, 0x6b, 0x12, + 0x27, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x20, 0x0a, 0x0b, + 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x73, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x66, 0x72, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x54, 0x61, + 0x67, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x61, + 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, + 0x72, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x75, 0x6d, 0x70, 0x55, 0x72, + 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x69, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x69, 0x72, 0x64, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x63, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x73, 0x63, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x69, 0x6e, + 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x49, + 0x64, 0x22, 0xca, 0x01, 0x0a, 0x1f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x42, 0x61, 0x73, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x62, + 0x0a, 0x0f, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, + 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x08, 0x66, + 0x65, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x41, 0x62, + 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb8, 0x05, 0x0a, + 0x07, 0x53, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, + 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x72, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x72, 0x6c, + 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x61, 0x74, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x35, 0x0a, 0x0b, 0x76, 0x65, 0x63, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x53, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, + 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x61, 0x6e, + 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x4d, 0x44, 0x35, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x4d, 0x44, 0x35, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x51, 0x75, 0x69, 0x63, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x73, 0x51, 0x75, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x6f, + 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, + 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xe4, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x1e, + 0x0a, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x61, + 0x73, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x68, 0x61, 0x73, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x81, + 0x01, 0x0a, 0x09, 0x53, 0x74, 0x56, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, + 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, + 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, + 0x73, 0x69, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, + 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, + 0x73, 0x63, 0x22, 0x4d, 0x0a, 0x0e, 0x53, 0x74, 0x57, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, + 0x65, 0x64, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x57, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x64, 0x61, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x22, 0x60, 0x0a, 0x12, 0x53, 0x74, 0x57, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, + 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x65, 0x64, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, + 0x61, 0x6c, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x61, + 0x6c, 0x49, 0x44, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, +} + +var ( + file_pb_channel_GuildFeedCloudMeta_proto_rawDescOnce sync.Once + file_pb_channel_GuildFeedCloudMeta_proto_rawDescData = file_pb_channel_GuildFeedCloudMeta_proto_rawDesc +) + +func file_pb_channel_GuildFeedCloudMeta_proto_rawDescGZIP() []byte { + file_pb_channel_GuildFeedCloudMeta_proto_rawDescOnce.Do(func() { + file_pb_channel_GuildFeedCloudMeta_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_channel_GuildFeedCloudMeta_proto_rawDescData) + }) + return file_pb_channel_GuildFeedCloudMeta_proto_rawDescData +} + +var file_pb_channel_GuildFeedCloudMeta_proto_msgTypes = make([]protoimpl.MessageInfo, 74) +var file_pb_channel_GuildFeedCloudMeta_proto_goTypes = []interface{}{ + (*ContentMetaData)(nil), // 0: channel.ContentMetaData + (*FeedMetaData)(nil), // 1: channel.FeedMetaData + (*FeedRedTouchTransInfo)(nil), // 2: channel.FeedRedTouchTransInfo + (*NoticeOperation)(nil), // 3: channel.NoticeOperation + (*RichTextContentCount)(nil), // 4: channel.RichTextContentCount + (*StAnimation)(nil), // 5: channel.StAnimation + (*StBusiReportInfo)(nil), // 6: channel.StBusiReportInfo + (*StChannelShareInfo)(nil), // 7: channel.StChannelShareInfo + (*StChannelShareSign)(nil), // 8: channel.StChannelShareSign + (*StCircleRankItem)(nil), // 9: channel.StCircleRankItem + (*StClientInfo)(nil), // 10: channel.StClientInfo + (*StComment)(nil), // 11: channel.StComment + (*StDebugInfo)(nil), // 12: channel.StDebugInfo + (*StDittoFeed)(nil), // 13: channel.StDittoFeed + (*StExifInfo)(nil), // 14: channel.StExifInfo + (*StExternalMedalWallInfo)(nil), // 15: channel.StExternalMedalWallInfo + (*StFeed)(nil), // 16: channel.StFeed + (*StFeedAbstract)(nil), // 17: channel.StFeedAbstract + (*StFeedCount)(nil), // 18: channel.StFeedCount + (*StFeedSummary)(nil), // 19: channel.StFeedSummary + (*StFollowRecomInfo)(nil), // 20: channel.StFollowRecomInfo + (*StFollowUser)(nil), // 21: channel.StFollowUser + (*StGPSV2)(nil), // 22: channel.StGPSV2 + (*StGuidePublishBubble)(nil), // 23: channel.StGuidePublishBubble + (*StIconInfo)(nil), // 24: channel.StIconInfo + (*StImage)(nil), // 25: channel.StImage + (*StImageUrl)(nil), // 26: channel.StImageUrl + (*StLightInteractInfo)(nil), // 27: channel.StLightInteractInfo + (*StLike)(nil), // 28: channel.StLike + (*StLiteBanner)(nil), // 29: channel.StLiteBanner + (*StMaterialDataNew)(nil), // 30: channel.StMaterialDataNew + (*StMedalInfo)(nil), // 31: channel.StMedalInfo + (*StNotice)(nil), // 32: channel.StNotice + (*StNoticePattonInfo)(nil), // 33: channel.StNoticePattonInfo + (*StNoticeTxtInfo)(nil), // 34: channel.StNoticeTxtInfo + (*StOpinfo)(nil), // 35: channel.StOpinfo + (*StPlainTxtInfo)(nil), // 36: channel.StPlainTxtInfo + (*StPoiInfoV2)(nil), // 37: channel.StPoiInfoV2 + (*StPrePullCacheFeed)(nil), // 38: channel.StPrePullCacheFeed + (*StProxyInfo)(nil), // 39: channel.StProxyInfo + (*StRankingItem)(nil), // 40: channel.StRankingItem + (*StRecomForward)(nil), // 41: channel.StRecomForward + (*StRecomInfo)(nil), // 42: channel.StRecomInfo + (*StRecomReportInfo)(nil), // 43: channel.StRecomReportInfo + (*StRelationInfo)(nil), // 44: channel.StRelationInfo + (*StReply)(nil), // 45: channel.StReply + (*StReportInfo)(nil), // 46: channel.StReportInfo + (*StRichText)(nil), // 47: channel.StRichText + (*StRichTextAtContent)(nil), // 48: channel.StRichTextAtContent + (*GuildChannelBaseGuildInfo)(nil), // 49: channel.GuildChannelBaseGuildInfo + (*GuildChannelBaseRoleGroupInfo)(nil), // 50: channel.GuildChannelBaseRoleGroupInfo + (*StRichTextChannelContent)(nil), // 51: channel.StRichTextChannelContent + (*StRichTextContent)(nil), // 52: channel.StRichTextContent + (*StRichTextEmojiContent)(nil), // 53: channel.StRichTextEmojiContent + (*StRichTextTextContent)(nil), // 54: channel.StRichTextTextContent + (*StRichTextURLContent)(nil), // 55: channel.StRichTextURLContent + (*StSameTopicGuideInfo)(nil), // 56: channel.StSameTopicGuideInfo + (*StShare)(nil), // 57: channel.StShare + (*StShareQzoneInfo)(nil), // 58: channel.StShareQzoneInfo + (*StSingleMaterial)(nil), // 59: channel.StSingleMaterial + (*StSingleRecomReportInfo)(nil), // 60: channel.StSingleRecomReportInfo + (*StTagInfo)(nil), // 61: channel.StTagInfo + (*StTagMedalInfo)(nil), // 62: channel.StTagMedalInfo + (*StTagOperateInfo)(nil), // 63: channel.StTagOperateInfo + (*StUnifiedTag)(nil), // 64: channel.StUnifiedTag + (*StUser)(nil), // 65: channel.StUser + (*GuildChannelBaseChannelUserInfo)(nil), // 66: channel.GuildChannelBaseChannelUserInfo + (*StUserGroupInfo)(nil), // 67: channel.StUserGroupInfo + (*StUserRecomInfo)(nil), // 68: channel.StUserRecomInfo + (*StVideo)(nil), // 69: channel.StVideo + (*StVideoUrl)(nil), // 70: channel.StVideoUrl + (*StVisitor)(nil), // 71: channel.StVisitor + (*StWearingMedal)(nil), // 72: channel.StWearingMedal + (*StWearingMedalInfo)(nil), // 73: channel.StWearingMedalInfo + (*StChannelSign)(nil), // 74: channel.StChannelSign + (*CommonEntry)(nil), // 75: channel.CommonEntry + (*EmojiReaction)(nil), // 76: EmojiReaction + (*StChannelInfo)(nil), // 77: channel.StChannelInfo + (*ClientIdentity)(nil), // 78: channel.ClientIdentity +} +var file_pb_channel_GuildFeedCloudMeta_proto_depIdxs = []int32{ + 4, // 0: channel.ContentMetaData.count:type_name -> channel.RichTextContentCount + 0, // 1: channel.FeedMetaData.content:type_name -> channel.ContentMetaData + 43, // 2: channel.StBusiReportInfo.recomReport:type_name -> channel.StRecomReportInfo + 74, // 3: channel.StChannelShareInfo.channelSign:type_name -> channel.StChannelSign + 8, // 4: channel.StChannelShareInfo.sign:type_name -> channel.StChannelShareSign + 75, // 5: channel.StClientInfo.clientMap:type_name -> channel.CommonEntry + 65, // 6: channel.StComment.postUser:type_name -> channel.StUser + 45, // 7: channel.StComment.vecReply:type_name -> channel.StReply + 28, // 8: channel.StComment.likeInfo:type_name -> channel.StLike + 75, // 9: channel.StComment.storeExtInfo:type_name -> channel.CommonEntry + 47, // 10: channel.StComment.richContents:type_name -> channel.StRichText + 75, // 11: channel.StDebugInfo.debugMap:type_name -> channel.CommonEntry + 75, // 12: channel.StExifInfo.kvs:type_name -> channel.CommonEntry + 31, // 13: channel.StExternalMedalWallInfo.medalInfos:type_name -> channel.StMedalInfo + 47, // 14: channel.StFeed.title:type_name -> channel.StRichText + 47, // 15: channel.StFeed.subtitle:type_name -> channel.StRichText + 65, // 16: channel.StFeed.poster:type_name -> channel.StUser + 69, // 17: channel.StFeed.videos:type_name -> channel.StVideo + 47, // 18: channel.StFeed.contents:type_name -> channel.StRichText + 76, // 19: channel.StFeed.emotionReaction:type_name -> EmojiReaction + 11, // 20: channel.StFeed.vecComment:type_name -> channel.StComment + 57, // 21: channel.StFeed.share:type_name -> channel.StShare + 71, // 22: channel.StFeed.visitorInfo:type_name -> channel.StVisitor + 25, // 23: channel.StFeed.images:type_name -> channel.StImage + 37, // 24: channel.StFeed.poiInfo:type_name -> channel.StPoiInfoV2 + 61, // 25: channel.StFeed.tagInfos:type_name -> channel.StTagInfo + 35, // 26: channel.StFeed.opinfo:type_name -> channel.StOpinfo + 75, // 27: channel.StFeed.extInfo:type_name -> channel.CommonEntry + 77, // 28: channel.StFeed.channelInfo:type_name -> channel.StChannelInfo + 19, // 29: channel.StFeed.summary:type_name -> channel.StFeedSummary + 42, // 30: channel.StFeed.recomInfo:type_name -> channel.StRecomInfo + 1, // 31: channel.StFeed.meta:type_name -> channel.FeedMetaData + 65, // 32: channel.StFeedAbstract.poster:type_name -> channel.StUser + 25, // 33: channel.StFeedAbstract.pic:type_name -> channel.StImage + 69, // 34: channel.StFeedAbstract.video:type_name -> channel.StVideo + 25, // 35: channel.StFeedAbstract.images:type_name -> channel.StImage + 18, // 36: channel.StFeedAbstract.countInfo:type_name -> channel.StFeedCount + 21, // 37: channel.StFollowRecomInfo.followUsers:type_name -> channel.StFollowUser + 25, // 38: channel.StGuidePublishBubble.backgroundImage:type_name -> channel.StImage + 26, // 39: channel.StImage.vecImageUrl:type_name -> channel.StImageUrl + 65, // 40: channel.StLightInteractInfo.user:type_name -> channel.StUser + 44, // 41: channel.StLightInteractInfo.relation:type_name -> channel.StRelationInfo + 65, // 42: channel.StLike.vecUser:type_name -> channel.StUser + 65, // 43: channel.StLike.postUser:type_name -> channel.StUser + 25, // 44: channel.StLiteBanner.icon:type_name -> channel.StImage + 75, // 45: channel.StLiteBanner.extInfo:type_name -> channel.CommonEntry + 59, // 46: channel.StMaterialDataNew.materialList:type_name -> channel.StSingleMaterial + 16, // 47: channel.StNotice.psvFeed:type_name -> channel.StFeed + 16, // 48: channel.StNotice.origineFeed:type_name -> channel.StFeed + 33, // 49: channel.StNotice.pattonInfo:type_name -> channel.StNoticePattonInfo + 36, // 50: channel.StNoticePattonInfo.plainTxt:type_name -> channel.StPlainTxtInfo + 47, // 51: channel.StNoticeTxtInfo.content:type_name -> channel.StRichText + 47, // 52: channel.StNoticeTxtInfo.contentOfReference:type_name -> channel.StRichText + 34, // 53: channel.StPlainTxtInfo.txtInfo:type_name -> channel.StNoticeTxtInfo + 3, // 54: channel.StPlainTxtInfo.operation:type_name -> channel.NoticeOperation + 22, // 55: channel.StPoiInfoV2.gps:type_name -> channel.StGPSV2 + 65, // 56: channel.StPrePullCacheFeed.poster:type_name -> channel.StUser + 65, // 57: channel.StRankingItem.user:type_name -> channel.StUser + 44, // 58: channel.StRankingItem.relation:type_name -> channel.StRelationInfo + 65, // 59: channel.StRecomForward.poster:type_name -> channel.StUser + 60, // 60: channel.StRecomReportInfo.recomInfos:type_name -> channel.StSingleRecomReportInfo + 65, // 61: channel.StReply.postUser:type_name -> channel.StUser + 65, // 62: channel.StReply.targetUser:type_name -> channel.StUser + 28, // 63: channel.StReply.likeInfo:type_name -> channel.StLike + 75, // 64: channel.StReply.storeExtInfo:type_name -> channel.CommonEntry + 47, // 65: channel.StReply.richContents:type_name -> channel.StRichText + 52, // 66: channel.StRichText.contents:type_name -> channel.StRichTextContent + 49, // 67: channel.StRichTextAtContent.guildInfo:type_name -> channel.GuildChannelBaseGuildInfo + 50, // 68: channel.StRichTextAtContent.roleGroupId:type_name -> channel.GuildChannelBaseRoleGroupInfo + 65, // 69: channel.StRichTextAtContent.user:type_name -> channel.StUser + 77, // 70: channel.StRichTextChannelContent.channelInfo:type_name -> channel.StChannelInfo + 54, // 71: channel.StRichTextContent.textContent:type_name -> channel.StRichTextTextContent + 48, // 72: channel.StRichTextContent.atContent:type_name -> channel.StRichTextAtContent + 55, // 73: channel.StRichTextContent.urlContent:type_name -> channel.StRichTextURLContent + 53, // 74: channel.StRichTextContent.emojiContent:type_name -> channel.StRichTextEmojiContent + 51, // 75: channel.StRichTextContent.channelContent:type_name -> channel.StRichTextChannelContent + 65, // 76: channel.StShare.author:type_name -> channel.StUser + 65, // 77: channel.StShare.poster:type_name -> channel.StUser + 69, // 78: channel.StShare.videos:type_name -> channel.StVideo + 58, // 79: channel.StShare.shareQzoneInfo:type_name -> channel.StShareQzoneInfo + 25, // 80: channel.StShare.images:type_name -> channel.StImage + 7, // 81: channel.StShare.channelShareInfo:type_name -> channel.StChannelShareInfo + 75, // 82: channel.StShareQzoneInfo.entrys:type_name -> channel.CommonEntry + 65, // 83: channel.StTagInfo.userList:type_name -> channel.StUser + 17, // 84: channel.StTagInfo.feedList:type_name -> channel.StFeedAbstract + 57, // 85: channel.StTagInfo.shareInfo:type_name -> channel.StShare + 62, // 86: channel.StTagInfo.medal:type_name -> channel.StTagMedalInfo + 63, // 87: channel.StTagInfo.optInfo:type_name -> channel.StTagOperateInfo + 24, // 88: channel.StUser.icon:type_name -> channel.StIconInfo + 62, // 89: channel.StUser.medal:type_name -> channel.StTagMedalInfo + 66, // 90: channel.StUser.channelUserInfo:type_name -> channel.GuildChannelBaseChannelUserInfo + 78, // 91: channel.GuildChannelBaseChannelUserInfo.clientIdentity:type_name -> channel.ClientIdentity + 50, // 92: channel.GuildChannelBaseChannelUserInfo.roleGroups:type_name -> channel.GuildChannelBaseRoleGroupInfo + 65, // 93: channel.StUserGroupInfo.userList:type_name -> channel.StUser + 65, // 94: channel.StUserRecomInfo.user:type_name -> channel.StUser + 17, // 95: channel.StUserRecomInfo.feedList:type_name -> channel.StFeedAbstract + 70, // 96: channel.StVideo.vecVideoUrl:type_name -> channel.StVideoUrl + 25, // 97: channel.StVideo.cover:type_name -> channel.StImage + 73, // 98: channel.StWearingMedal.medalInfos:type_name -> channel.StWearingMedalInfo + 99, // [99:99] is the sub-list for method output_type + 99, // [99:99] is the sub-list for method input_type + 99, // [99:99] is the sub-list for extension type_name + 99, // [99:99] is the sub-list for extension extendee + 0, // [0:99] is the sub-list for field type_name +} + +func init() { file_pb_channel_GuildFeedCloudMeta_proto_init() } +func file_pb_channel_GuildFeedCloudMeta_proto_init() { + if File_pb_channel_GuildFeedCloudMeta_proto != nil { + return + } + file_pb_channel_MsgResponsesSvr_proto_init() + file_pb_channel_GuildChannelBase_proto_init() + if !protoimpl.UnsafeEnabled { + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContentMetaData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeedMetaData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeedRedTouchTransInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NoticeOperation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RichTextContentCount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StAnimation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StBusiReportInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StChannelShareInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StChannelShareSign); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StCircleRankItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StClientInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StComment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StDebugInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StDittoFeed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StExifInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StExternalMedalWallInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StFeed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StFeedAbstract); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StFeedCount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StFeedSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StFollowRecomInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StFollowUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGPSV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGuidePublishBubble); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StIconInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StImageUrl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StLightInteractInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StLike); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StLiteBanner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StMaterialDataNew); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StMedalInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StNotice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StNoticePattonInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StNoticeTxtInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StOpinfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StPlainTxtInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StPoiInfoV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StPrePullCacheFeed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StProxyInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRankingItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRecomForward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRecomInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRecomReportInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRelationInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StReportInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRichText); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRichTextAtContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GuildChannelBaseGuildInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GuildChannelBaseRoleGroupInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRichTextChannelContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRichTextContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRichTextEmojiContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRichTextTextContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StRichTextURLContent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StSameTopicGuideInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StShare); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StShareQzoneInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StSingleMaterial); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StSingleRecomReportInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StTagInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StTagMedalInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StTagOperateInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StUnifiedTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GuildChannelBaseChannelUserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StUserGroupInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StUserRecomInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StVideo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StVideoUrl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StVisitor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StWearingMedal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudMeta_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StWearingMedalInfo); 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_pb_channel_GuildFeedCloudMeta_proto_rawDesc, + NumEnums: 0, + NumMessages: 74, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pb_channel_GuildFeedCloudMeta_proto_goTypes, + DependencyIndexes: file_pb_channel_GuildFeedCloudMeta_proto_depIdxs, + MessageInfos: file_pb_channel_GuildFeedCloudMeta_proto_msgTypes, + }.Build() + File_pb_channel_GuildFeedCloudMeta_proto = out.File + file_pb_channel_GuildFeedCloudMeta_proto_rawDesc = nil + file_pb_channel_GuildFeedCloudMeta_proto_goTypes = nil + file_pb_channel_GuildFeedCloudMeta_proto_depIdxs = nil +} diff --git a/client/pb/channel/GuildFeedCloudMeta.proto b/client/pb/channel/GuildFeedCloudMeta.proto new file mode 100644 index 00000000..3aa82336 --- /dev/null +++ b/client/pb/channel/GuildFeedCloudMeta.proto @@ -0,0 +1,652 @@ +syntax = "proto2"; + +package channel; + +option go_package = "pb/channel;channel"; + +import "pb/channel/MsgResponsesSvr.proto"; +import "pb/channel/GuildChannelBase.proto"; + +message ContentMetaData { + optional RichTextContentCount count = 1; + optional int64 ContentID = 2; +} + +message FeedMetaData { + optional ContentMetaData content = 1; + optional uint64 lastModifiedTime = 2; +} + +message FeedRedTouchTransInfo { + optional string feedId = 1; + optional string author = 2; + optional int64 createTs = 3; + optional int32 msgType = 4; + optional int32 pageType = 5; + optional int32 redType = 6; + optional int32 insertPageType = 7; +} + +message NoticeOperation { + optional uint32 type = 1; + optional string schema = 2; +} + +message RichTextContentCount { + optional uint64 textWord = 1; + optional uint64 at = 2; + optional uint64 url = 3; + optional uint64 emoji = 4; + optional uint64 image = 5; + optional uint64 video = 6; +} + +message StAnimation { + optional uint32 width = 1; + optional uint32 height = 2; + optional string animationUrl = 3; + optional bytes busiData = 4; +} + +message StBusiReportInfo { + optional StRecomReportInfo recomReport = 1; + optional string traceID = 2; +} + +message StChannelShareInfo { + optional string feedID = 1; + optional string posterID = 2; + optional uint64 feedPublishAt = 3; + optional StChannelSign channelSign = 4; + optional uint64 updateDurationMs = 5; + optional StChannelShareSign sign = 6; +} + +message StChannelShareSign { + optional uint64 createAt = 1; + optional string token = 2; +} + +message StCircleRankItem { + optional int32 rankNo = 1; + optional string circleName = 2; + optional int64 fuelValue = 3; + optional int64 feedNum = 4; + optional string circleID = 5; +} + +message StClientInfo { + optional string feedclientkey = 1; + repeated CommonEntry clientMap = 2; +} + + +message StComment { + optional string id = 1; + optional StUser postUser = 2; + optional uint64 createTime = 3; + optional string content = 4; + optional uint32 replyCount = 5; + repeated StReply vecReply = 6; + optional bytes busiData = 7; + optional StLike likeInfo = 8; + optional uint32 typeFlag = 9; + repeated string atUinList = 10; + optional uint32 typeFlag2 = 11; + optional uint64 createTimeNs = 12; + repeated CommonEntry storeExtInfo = 13; + optional string thirdId = 14; + optional uint32 sourceType = 15; + optional StRichText richContents = 16; +} + +message StDebugInfo { + repeated CommonEntry debugMap = 1; +} + +message StDittoFeed { + optional uint32 dittoId = 1; + optional uint32 dittoPatternId = 2; + optional bytes dittoData = 3; + optional bytes dittoDataNew = 4; +} + +message StExifInfo { + repeated CommonEntry kvs = 1; +} + +message StExternalMedalWallInfo { + optional bool needRedPoint = 1; + repeated StMedalInfo medalInfos = 2; + optional string medalWallJumpUrl = 3; + optional bool needShowEntrance = 4; +} + +message StFeed { + optional string id = 1; + optional StRichText title = 2; + optional StRichText subtitle = 3; + optional StUser poster = 4; + repeated StVideo videos = 5; + optional StRichText contents = 6; + optional uint64 createTime = 7; + optional EmojiReaction emotionReaction = 8; + optional uint32 commentCount = 9; + repeated StComment vecComment = 10; + optional StShare share = 11; + optional StVisitor visitorInfo = 12; + repeated StImage images = 13; + optional StPoiInfoV2 poiInfo = 14; + repeated StTagInfo tagInfos = 15; + optional bytes busiReport = 16; + repeated uint32 opMask = 17; + optional StOpinfo opinfo = 18; + repeated CommonEntry extInfo = 19; + optional string patternInfo = 20; + optional StChannelInfo channelInfo = 21; + optional uint64 createTimeNs = 22; + optional StFeedSummary summary = 23; + optional StRecomInfo recomInfo = 24; + optional FeedMetaData meta = 25; +} + +message StFeedAbstract { + optional string id = 1; + optional string title = 2; + optional StUser poster = 3; + optional StImage pic = 4; + optional uint32 type = 5; + optional uint64 createTime = 6; + optional StVideo video = 7; + optional uint32 fuelNum = 8; + optional string content = 9; + repeated StImage images = 10; + optional StFeedCount countInfo = 11; +} + +message StFeedCount { + optional int64 liked = 1; + optional int64 push = 2; + optional int64 comment = 3; + optional int64 visitor = 4; +} + +message StFeedSummary { + optional uint32 layoutType = 1; +} + +message StFollowRecomInfo { + optional string followText = 1; + repeated StFollowUser followUsers = 4; + optional string commFriendText = 6; + optional string commGroupText = 7; +} + +message StFollowUser { + optional uint64 uid = 1; + optional string nick = 2; +} + +message StGPSV2 { + optional int64 lat = 1; + optional int64 lon = 2; + optional int64 eType = 3; + optional int64 alt = 4; +} + +message StGuidePublishBubble { + optional string id = 1; + optional StImage backgroundImage = 2; + optional string jumpUrl = 3; +} + +message StIconInfo { + optional string iconUrl40 = 1; + optional string iconUrl100 = 2; + optional string iconUrl140 = 3; + optional string iconUrl640 = 4; + optional string iconUrl = 5; +} + +message StImage { + optional uint32 width = 1; + optional uint32 height = 2; + optional string picUrl = 3; + repeated StImageUrl vecImageUrl = 4; + optional string picId = 5; + optional bytes busiData = 6; + optional string imageMD5 = 7; + optional string layerPicUrl = 8; + optional string patternId = 9; + optional uint32 displayIndex = 10; +} + +message StImageUrl { + optional uint32 levelType = 1; + optional string url = 2; + optional uint32 width = 3; + optional uint32 height = 4; + optional bytes busiData = 5; +} + +message StLightInteractInfo { + optional StUser user = 1; + optional StRelationInfo relation = 2; + optional uint32 count = 3; + optional bytes busiData = 4; +} + +message StLike { + optional string id = 1; + optional uint32 count = 2; + optional uint32 status = 3; + repeated StUser vecUser = 4; + optional bytes busiData = 5; + optional StUser postUser = 6; + optional uint32 hasLikedCount = 7; + optional uint32 ownerStatus = 8; + optional string jumpUrl = 9; +} + +message StLiteBanner { + optional StImage icon = 1; + optional string title = 2; + optional string jumpUrl = 3; + optional string activityID = 4; + optional string jsonStyle = 5; + repeated CommonEntry extInfo = 6; +} + +message StMaterialDataNew { + optional string materialType = 1; + repeated StSingleMaterial materialList = 2; +} + +message StMedalInfo { + optional int32 type = 1; + optional string medalName = 2; + optional string medalID = 3; + optional int32 rank = 4; + optional bool isHighLight = 5; + optional bool isNew = 6; + optional string jumpUrl = 7; + optional string iconUrl = 8; + optional string backgroundUrl = 9; + optional string describe = 10; + optional int32 reportValue = 11; +} + +message StNotice { + optional StFeed psvFeed = 1; + optional StFeed origineFeed = 2; + optional StNoticePattonInfo pattonInfo = 3; +} + +message StNoticePattonInfo { + optional uint32 pattonType = 1; + optional StPlainTxtInfo plainTxt = 2; +} + +message StNoticeTxtInfo { + optional StRichText content = 1; + optional StRichText contentOfReference = 2; +} + +message StOpinfo { + repeated uint64 createTime = 1; +} + +message StPlainTxtInfo { + optional StNoticeTxtInfo txtInfo = 1; + optional NoticeOperation operation = 2; +} + +message StPoiInfoV2 { + optional string poiId = 1; + optional string name = 2; + optional int32 poiType = 3; + optional string typeName = 4; + optional string address = 5; + optional int32 districtCode = 6; + optional StGPSV2 gps = 7; + optional int32 distance = 8; + optional int32 hotValue = 9; + optional string phone = 10; + optional string country = 11; + optional string province = 12; + optional string city = 13; + optional int32 poiNum = 14; + optional int32 poiOrderType = 15; + optional string defaultName = 16; + optional string district = 17; + optional string dianPingId = 18; + optional string distanceText = 19; + optional string displayName = 20; +} + +message StPrePullCacheFeed { + optional string id = 1; + optional StUser poster = 2; + optional uint64 createTime = 3; + //repeated GuildCommon.BytesEntry busiTranparent = 4; +} + +message StProxyInfo { + optional int32 cmdId = 1; + optional int32 subCmdId = 2; + optional string appProtocol = 3; + optional bytes reqBody = 4; +} + +message StRankingItem { + optional StUser user = 1; + optional StRelationInfo relation = 2; + optional int64 score = 3; + optional int32 grade = 4; + optional bytes busiData = 5; + optional int32 rankNo = 6; + optional int32 inTopicList = 7; +} + +message StRecomForward { + optional string id = 1; + optional string title = 2; + optional string subtitle = 3; + optional StUser poster = 4; + optional uint64 createTime = 5; + optional uint32 type = 6; + optional bytes busiData = 7; +} + +message StRecomInfo { + optional string recomReason = 1; + optional bytes recomAttachInfo = 2; + optional string recomTrace = 3; + optional bytes clientSealData = 4; + optional string iconUrl = 5; + optional int32 recomReasonType = 6; +} + +message StRecomReportInfo { + repeated StSingleRecomReportInfo recomInfos = 1; +} + +message StRelationInfo { + optional string id = 1; + optional uint32 relation = 2; + optional bytes busiData = 3; + optional uint32 relationState = 4; + optional uint32 score = 5; + optional bool isBlock = 6; + optional bool isBlocked = 7; + optional bool isFriend = 8; + optional bool isUncare = 9; + optional uint64 imBitMap = 10; +} + +message StReply { + optional string id = 1; + optional StUser postUser = 2; + optional uint64 createTime = 3; + optional string content = 4; + optional StUser targetUser = 5; + optional bytes busiData = 6; + optional StLike likeInfo = 7; + optional uint32 typeFlag = 8; + optional uint32 modifyflag = 9; + repeated string atUinList = 10; + optional uint32 typeFlag2 = 11; + optional uint64 createTimeNs = 12; + repeated CommonEntry storeExtInfo = 13; + optional string thirdId = 14; + optional string targetReplyID = 15; + optional uint32 sourceType = 16; + optional StRichText richContents = 17; +} + +message StReportInfo { + optional string id = 1; + optional bytes busiReport = 2; +} + +message StRichText { + repeated StRichTextContent contents = 1; +} + +message StRichTextAtContent { + optional uint32 type = 1; + optional GuildChannelBaseGuildInfo guildInfo = 2; + optional GuildChannelBaseRoleGroupInfo roleGroupId = 3; + optional StUser user = 4; +} + +message GuildChannelBaseGuildInfo { + optional uint64 guildId = 1; + optional string name = 2; + optional uint64 joinTime = 3; +} + +message GuildChannelBaseRoleGroupInfo { + optional uint64 roleId = 1; + optional string name = 2; + optional uint32 color = 3; +} + +message StRichTextChannelContent { + optional StChannelInfo channelInfo = 1; +} + +message StRichTextContent { + optional uint32 type = 1; + optional string patternId = 2; + optional StRichTextTextContent textContent = 3; + optional StRichTextAtContent atContent = 4; + optional StRichTextURLContent urlContent = 5; + optional StRichTextEmojiContent emojiContent = 6; + optional StRichTextChannelContent channelContent = 7; +} + +message StRichTextEmojiContent { + optional string id = 1; + optional string type = 2; + optional string name = 3; + optional string url = 4; +} + +message StRichTextTextContent { + optional string text = 1; +} + +message StRichTextURLContent { + optional string url = 1; + optional string displayText = 2; +} + +message StSameTopicGuideInfo { + optional uint32 isSameTopicGuide = 1; + optional int64 stayShowTime = 2; + optional string hashTag = 3; + optional string words = 4; + optional string jumpUrl = 5; + optional string reportExt = 6; +} + +message StShare { + optional string title = 1; + optional string desc = 2; + optional uint32 type = 3; + optional string url = 4; + optional StUser author = 5; + optional StUser poster = 6; + repeated StVideo videos = 7; + optional string shorturl = 8; + optional string shareCardInfo = 9; + optional StShareQzoneInfo shareQzoneInfo = 10; + repeated StImage images = 11; + optional uint32 publishTotalUser = 12; + optional uint32 sharedCount = 13; + optional StChannelShareInfo channelShareInfo = 14; +} + +message StShareQzoneInfo { + repeated CommonEntry entrys = 1; +} + +message StSingleMaterial { + optional string materialId = 1; +} + +message StSingleRecomReportInfo { + optional string reportID = 1; + optional bytes reportData = 2; +} + +message StTagInfo { + optional string tagId = 1; + optional string tagName = 2; + optional string tagDec = 3; + repeated StUser userList = 4; + repeated StFeedAbstract feedList = 5; + optional uint32 tagTotalUser = 6; + optional uint32 tagTotalFeed = 7; + optional string tagWording = 8; + optional uint32 tagType = 9; + optional uint32 followState = 10; + optional StShare shareInfo = 11; + optional uint32 isTop = 12; + optional uint32 isSelected = 13; + optional int64 userViewHistory = 14; + optional StTagMedalInfo medal = 15; + optional uint32 status = 16; + optional StTagOperateInfo optInfo = 17; + optional uint32 tagBaseStatus = 18; + optional int32 isRecommend = 19; + optional int64 tagViewHistory = 20; + optional string operateIconUrl = 21; + optional string tagReport = 99; + optional string tagIconUrl = 100; +} + +message StTagMedalInfo { + optional string tagID = 1; + optional string tagName = 2; + optional uint64 rank = 3; +} + +message StTagOperateInfo { + optional string createUser = 1; + optional string coverURL = 2; + optional string desc = 3; + optional string backgroundURL = 4; + optional string bannerURL = 5; + optional string bannerSkipLink = 6; + optional int64 activityStartTime = 7; + optional int64 activityEndTime = 8; + optional string recommendReason = 9; + optional int32 isWhite = 10; + optional int64 beWhiteStartTime = 11; + optional int64 beWhiteEndTime = 12; + optional string publishSchema = 13; +} + +message StUnifiedTag { + optional string unifiedType = 1; + optional string unifiedId = 2; +} + +message StUser { + optional string id = 1; + optional string nick = 2; + optional StIconInfo icon = 3; + optional string desc = 4; + optional uint32 followState = 5; + optional uint32 type = 6; + optional uint32 sex = 7; + optional uint64 birthday = 8; + optional string school = 9; + optional string location = 11; + optional bytes busiData = 12; + optional uint32 frdState = 13; + optional uint32 relationState = 14; + optional uint32 blackState = 15; + optional StTagMedalInfo medal = 16; + optional int32 constellation = 17; + optional string jumpUrl = 18; + optional string locationCode = 19; + optional string thirdId = 20; + optional string company = 21; + optional string certificationDesc = 22; + optional uint32 descType = 23; + optional GuildChannelBaseChannelUserInfo channelUserInfo = 24; + optional string loginId = 25; +} + +message GuildChannelBaseChannelUserInfo { + optional ClientIdentity clientIdentity = 1; + optional uint32 memberType = 2; + // optional ChannelUserPermission permission = 3; + repeated GuildChannelBaseRoleGroupInfo roleGroups = 4; +} + +message StUserGroupInfo { + optional string id = 1; + optional string name = 2; + repeated StUser userList = 3; +} + +message StUserRecomInfo { + optional StUser user = 1; + repeated StFeedAbstract feedList = 2; + optional bytes busiData = 3; +} + +message StVideo { + optional string fileId = 1; + optional uint32 fileSize = 2; + optional uint32 duration = 3; + optional uint32 width = 4; + optional uint32 height = 5; + optional string playUrl = 6; + optional uint32 transStatus = 7; + optional uint32 videoPrior = 8; + optional uint32 videoRate = 9; + repeated StVideoUrl vecVideoUrl = 10; + optional bytes busiData = 11; + optional uint32 approvalStatus = 12; + optional uint32 videoSource = 13; + optional uint32 mediaQualityRank = 14; + optional float mediaQualityScore = 15; + optional string videoMD5 = 16; + optional uint32 isQuic = 17; + optional uint32 orientation = 18; + optional StImage cover = 19; + optional string patternId = 20; + optional uint32 displayIndex = 21; +} + +message StVideoUrl { + optional uint32 levelType = 1; + optional string playUrl = 2; + optional uint32 videoPrior = 3; + optional uint32 videoRate = 4; + optional uint32 transStatus = 5; + optional bytes busiData = 6; + optional bool hasWatermark = 7; +} + +message StVisitor { + optional uint32 viewCount = 1; + optional bytes busiData = 2; + optional uint32 recomCount = 3; + optional string viewDesc = 4; +} + +message StWearingMedal { + repeated StWearingMedalInfo medalInfos = 1; +} + +message StWearingMedalInfo { + optional int32 type = 1; + optional string medalName = 2; + optional string medalID = 3; +} diff --git a/client/pb/channel/GuildFeedCloudRead.pb.go b/client/pb/channel/GuildFeedCloudRead.pb.go new file mode 100644 index 00000000..b89096d8 --- /dev/null +++ b/client/pb/channel/GuildFeedCloudRead.pb.go @@ -0,0 +1,1251 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.14.0 +// source: pb/channel/GuildFeedCloudRead.proto + +package channel + +import ( + 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 GetNoticesReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + PageNum *uint32 `protobuf:"varint,2,opt,name=pageNum" json:"pageNum,omitempty"` + AttachInfo *string `protobuf:"bytes,3,opt,name=attachInfo" json:"attachInfo,omitempty"` +} + +func (x *GetNoticesReq) Reset() { + *x = GetNoticesReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNoticesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNoticesReq) ProtoMessage() {} + +func (x *GetNoticesReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 GetNoticesReq.ProtoReflect.Descriptor instead. +func (*GetNoticesReq) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{0} +} + +func (x *GetNoticesReq) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *GetNoticesReq) GetPageNum() uint32 { + if x != nil && x.PageNum != nil { + return *x.PageNum + } + return 0 +} + +func (x *GetNoticesReq) GetAttachInfo() string { + if x != nil && x.AttachInfo != nil { + return *x.AttachInfo + } + return "" +} + +type GetNoticesRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + Notices []*StNotice `protobuf:"bytes,2,rep,name=notices" json:"notices,omitempty"` + TotalNum *uint32 `protobuf:"varint,3,opt,name=totalNum" json:"totalNum,omitempty"` + IsFinish *bool `protobuf:"varint,4,opt,name=isFinish" json:"isFinish,omitempty"` + AttachInfo *string `protobuf:"bytes,5,opt,name=attachInfo" json:"attachInfo,omitempty"` +} + +func (x *GetNoticesRsp) Reset() { + *x = GetNoticesRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNoticesRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNoticesRsp) ProtoMessage() {} + +func (x *GetNoticesRsp) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 GetNoticesRsp.ProtoReflect.Descriptor instead. +func (*GetNoticesRsp) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{1} +} + +func (x *GetNoticesRsp) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *GetNoticesRsp) GetNotices() []*StNotice { + if x != nil { + return x.Notices + } + return nil +} + +func (x *GetNoticesRsp) GetTotalNum() uint32 { + if x != nil && x.TotalNum != nil { + return *x.TotalNum + } + return 0 +} + +func (x *GetNoticesRsp) GetIsFinish() bool { + if x != nil && x.IsFinish != nil { + return *x.IsFinish + } + return false +} + +func (x *GetNoticesRsp) GetAttachInfo() string { + if x != nil && x.AttachInfo != nil { + return *x.AttachInfo + } + return "" +} + +type NeedInsertCommentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommentID *string `protobuf:"bytes,1,opt,name=commentID" json:"commentID,omitempty"` +} + +func (x *NeedInsertCommentInfo) Reset() { + *x = NeedInsertCommentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NeedInsertCommentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NeedInsertCommentInfo) ProtoMessage() {} + +func (x *NeedInsertCommentInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 NeedInsertCommentInfo.ProtoReflect.Descriptor instead. +func (*NeedInsertCommentInfo) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{2} +} + +func (x *NeedInsertCommentInfo) GetCommentID() string { + if x != nil && x.CommentID != nil { + return *x.CommentID + } + return "" +} + +type RefreshToast struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` +} + +func (x *RefreshToast) Reset() { + *x = RefreshToast{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RefreshToast) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshToast) ProtoMessage() {} + +func (x *RefreshToast) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 RefreshToast.ProtoReflect.Descriptor instead. +func (*RefreshToast) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{3} +} + +func (x *RefreshToast) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +type StGetChannelFeedsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + Count *uint32 `protobuf:"varint,2,opt,name=count" json:"count,omitempty"` + From *uint32 `protobuf:"varint,3,opt,name=from" json:"from,omitempty"` + ChannelSign *StChannelSign `protobuf:"bytes,4,opt,name=channelSign" json:"channelSign,omitempty"` + FeedAttchInfo *string `protobuf:"bytes,5,opt,name=feedAttchInfo" json:"feedAttchInfo,omitempty"` +} + +func (x *StGetChannelFeedsReq) Reset() { + *x = StGetChannelFeedsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetChannelFeedsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetChannelFeedsReq) ProtoMessage() {} + +func (x *StGetChannelFeedsReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetChannelFeedsReq.ProtoReflect.Descriptor instead. +func (*StGetChannelFeedsReq) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{4} +} + +func (x *StGetChannelFeedsReq) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetChannelFeedsReq) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +func (x *StGetChannelFeedsReq) GetFrom() uint32 { + if x != nil && x.From != nil { + return *x.From + } + return 0 +} + +func (x *StGetChannelFeedsReq) GetChannelSign() *StChannelSign { + if x != nil { + return x.ChannelSign + } + return nil +} + +func (x *StGetChannelFeedsReq) GetFeedAttchInfo() string { + if x != nil && x.FeedAttchInfo != nil { + return *x.FeedAttchInfo + } + return "" +} + +type StGetChannelFeedsRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + VecFeed []*StFeed `protobuf:"bytes,2,rep,name=vecFeed" json:"vecFeed,omitempty"` + IsFinish *uint32 `protobuf:"varint,3,opt,name=isFinish" json:"isFinish,omitempty"` + User *StUser `protobuf:"bytes,4,opt,name=user" json:"user,omitempty"` + FeedAttchInfo *string `protobuf:"bytes,5,opt,name=feedAttchInfo" json:"feedAttchInfo,omitempty"` + RefreshToast *RefreshToast `protobuf:"bytes,6,opt,name=refreshToast" json:"refreshToast,omitempty"` +} + +func (x *StGetChannelFeedsRsp) Reset() { + *x = StGetChannelFeedsRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetChannelFeedsRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetChannelFeedsRsp) ProtoMessage() {} + +func (x *StGetChannelFeedsRsp) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetChannelFeedsRsp.ProtoReflect.Descriptor instead. +func (*StGetChannelFeedsRsp) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{5} +} + +func (x *StGetChannelFeedsRsp) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetChannelFeedsRsp) GetVecFeed() []*StFeed { + if x != nil { + return x.VecFeed + } + return nil +} + +func (x *StGetChannelFeedsRsp) GetIsFinish() uint32 { + if x != nil && x.IsFinish != nil { + return *x.IsFinish + } + return 0 +} + +func (x *StGetChannelFeedsRsp) GetUser() *StUser { + if x != nil { + return x.User + } + return nil +} + +func (x *StGetChannelFeedsRsp) GetFeedAttchInfo() string { + if x != nil && x.FeedAttchInfo != nil { + return *x.FeedAttchInfo + } + return "" +} + +func (x *StGetChannelFeedsRsp) GetRefreshToast() *RefreshToast { + if x != nil { + return x.RefreshToast + } + return nil +} + +type StGetChannelShareFeedReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + From *uint32 `protobuf:"varint,2,opt,name=from" json:"from,omitempty"` + ChannelShareInfo *StChannelShareInfo `protobuf:"bytes,3,opt,name=channelShareInfo" json:"channelShareInfo,omitempty"` +} + +func (x *StGetChannelShareFeedReq) Reset() { + *x = StGetChannelShareFeedReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetChannelShareFeedReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetChannelShareFeedReq) ProtoMessage() {} + +func (x *StGetChannelShareFeedReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetChannelShareFeedReq.ProtoReflect.Descriptor instead. +func (*StGetChannelShareFeedReq) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{6} +} + +func (x *StGetChannelShareFeedReq) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetChannelShareFeedReq) GetFrom() uint32 { + if x != nil && x.From != nil { + return *x.From + } + return 0 +} + +func (x *StGetChannelShareFeedReq) GetChannelShareInfo() *StChannelShareInfo { + if x != nil { + return x.ChannelShareInfo + } + return nil +} + +type StGetChannelShareFeedRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + Feed *StFeed `protobuf:"bytes,2,opt,name=feed" json:"feed,omitempty"` +} + +func (x *StGetChannelShareFeedRsp) Reset() { + *x = StGetChannelShareFeedRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetChannelShareFeedRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetChannelShareFeedRsp) ProtoMessage() {} + +func (x *StGetChannelShareFeedRsp) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetChannelShareFeedRsp.ProtoReflect.Descriptor instead. +func (*StGetChannelShareFeedRsp) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{7} +} + +func (x *StGetChannelShareFeedRsp) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetChannelShareFeedRsp) GetFeed() *StFeed { + if x != nil { + return x.Feed + } + return nil +} + +type StGetFeedCommentsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + UserId *string `protobuf:"bytes,2,opt,name=userId" json:"userId,omitempty"` + FeedId *string `protobuf:"bytes,3,opt,name=feedId" json:"feedId,omitempty"` + ListNum *uint32 `protobuf:"varint,4,opt,name=listNum" json:"listNum,omitempty"` + From *uint32 `protobuf:"varint,5,opt,name=from" json:"from,omitempty"` + AttchInfo *string `protobuf:"bytes,6,opt,name=attchInfo" json:"attchInfo,omitempty"` + EntrySchema *string `protobuf:"bytes,7,opt,name=entrySchema" json:"entrySchema,omitempty"` +} + +func (x *StGetFeedCommentsReq) Reset() { + *x = StGetFeedCommentsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetFeedCommentsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetFeedCommentsReq) ProtoMessage() {} + +func (x *StGetFeedCommentsReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetFeedCommentsReq.ProtoReflect.Descriptor instead. +func (*StGetFeedCommentsReq) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{8} +} + +func (x *StGetFeedCommentsReq) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetFeedCommentsReq) GetUserId() string { + if x != nil && x.UserId != nil { + return *x.UserId + } + return "" +} + +func (x *StGetFeedCommentsReq) GetFeedId() string { + if x != nil && x.FeedId != nil { + return *x.FeedId + } + return "" +} + +func (x *StGetFeedCommentsReq) GetListNum() uint32 { + if x != nil && x.ListNum != nil { + return *x.ListNum + } + return 0 +} + +func (x *StGetFeedCommentsReq) GetFrom() uint32 { + if x != nil && x.From != nil { + return *x.From + } + return 0 +} + +func (x *StGetFeedCommentsReq) GetAttchInfo() string { + if x != nil && x.AttchInfo != nil { + return *x.AttchInfo + } + return "" +} + +func (x *StGetFeedCommentsReq) GetEntrySchema() string { + if x != nil && x.EntrySchema != nil { + return *x.EntrySchema + } + return "" +} + +type StGetFeedCommentsRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + VecComment []*StComment `protobuf:"bytes,2,rep,name=vecComment" json:"vecComment,omitempty"` + TotalNum *uint32 `protobuf:"varint,3,opt,name=totalNum" json:"totalNum,omitempty"` + IsFinish *uint32 `protobuf:"varint,4,opt,name=isFinish" json:"isFinish,omitempty"` + AttchInfo *string `protobuf:"bytes,5,opt,name=attchInfo" json:"attchInfo,omitempty"` +} + +func (x *StGetFeedCommentsRsp) Reset() { + *x = StGetFeedCommentsRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetFeedCommentsRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetFeedCommentsRsp) ProtoMessage() {} + +func (x *StGetFeedCommentsRsp) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetFeedCommentsRsp.ProtoReflect.Descriptor instead. +func (*StGetFeedCommentsRsp) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{9} +} + +func (x *StGetFeedCommentsRsp) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetFeedCommentsRsp) GetVecComment() []*StComment { + if x != nil { + return x.VecComment + } + return nil +} + +func (x *StGetFeedCommentsRsp) GetTotalNum() uint32 { + if x != nil && x.TotalNum != nil { + return *x.TotalNum + } + return 0 +} + +func (x *StGetFeedCommentsRsp) GetIsFinish() uint32 { + if x != nil && x.IsFinish != nil { + return *x.IsFinish + } + return 0 +} + +func (x *StGetFeedCommentsRsp) GetAttchInfo() string { + if x != nil && x.AttchInfo != nil { + return *x.AttchInfo + } + return "" +} + +type StGetFeedDetailReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + From *uint32 `protobuf:"varint,2,opt,name=from" json:"from,omitempty"` + UserId *string `protobuf:"bytes,3,opt,name=userId" json:"userId,omitempty"` + FeedId *string `protobuf:"bytes,4,opt,name=feedId" json:"feedId,omitempty"` + CreateTime *uint64 `protobuf:"varint,5,opt,name=createTime" json:"createTime,omitempty"` + DetailType *uint32 `protobuf:"varint,6,opt,name=detailType" json:"detailType,omitempty"` + ChannelSign *StChannelSign `protobuf:"bytes,7,opt,name=channelSign" json:"channelSign,omitempty"` +} + +func (x *StGetFeedDetailReq) Reset() { + *x = StGetFeedDetailReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetFeedDetailReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetFeedDetailReq) ProtoMessage() {} + +func (x *StGetFeedDetailReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetFeedDetailReq.ProtoReflect.Descriptor instead. +func (*StGetFeedDetailReq) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{10} +} + +func (x *StGetFeedDetailReq) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetFeedDetailReq) GetFrom() uint32 { + if x != nil && x.From != nil { + return *x.From + } + return 0 +} + +func (x *StGetFeedDetailReq) GetUserId() string { + if x != nil && x.UserId != nil { + return *x.UserId + } + return "" +} + +func (x *StGetFeedDetailReq) GetFeedId() string { + if x != nil && x.FeedId != nil { + return *x.FeedId + } + return "" +} + +func (x *StGetFeedDetailReq) GetCreateTime() uint64 { + if x != nil && x.CreateTime != nil { + return *x.CreateTime + } + return 0 +} + +func (x *StGetFeedDetailReq) GetDetailType() uint32 { + if x != nil && x.DetailType != nil { + return *x.DetailType + } + return 0 +} + +func (x *StGetFeedDetailReq) GetChannelSign() *StChannelSign { + if x != nil { + return x.ChannelSign + } + return nil +} + +type StGetFeedDetailRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExtInfo *StCommonExt `protobuf:"bytes,1,opt,name=extInfo" json:"extInfo,omitempty"` + Feed *StFeed `protobuf:"bytes,2,opt,name=feed" json:"feed,omitempty"` + LoginUser *StUser `protobuf:"bytes,3,opt,name=loginUser" json:"loginUser,omitempty"` +} + +func (x *StGetFeedDetailRsp) Reset() { + *x = StGetFeedDetailRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_channel_GuildFeedCloudRead_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StGetFeedDetailRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StGetFeedDetailRsp) ProtoMessage() {} + +func (x *StGetFeedDetailRsp) ProtoReflect() protoreflect.Message { + mi := &file_pb_channel_GuildFeedCloudRead_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 StGetFeedDetailRsp.ProtoReflect.Descriptor instead. +func (*StGetFeedDetailRsp) Descriptor() ([]byte, []int) { + return file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP(), []int{11} +} + +func (x *StGetFeedDetailRsp) GetExtInfo() *StCommonExt { + if x != nil { + return x.ExtInfo + } + return nil +} + +func (x *StGetFeedDetailRsp) GetFeed() *StFeed { + if x != nil { + return x.Feed + } + return nil +} + +func (x *StGetFeedDetailRsp) GetLoginUser() *StUser { + if x != nil { + return x.LoginUser + } + return nil +} + +var File_pb_channel_GuildFeedCloudRead_proto protoreflect.FileDescriptor + +var file_pb_channel_GuildFeedCloudRead_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x61, 0x64, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x23, + 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x46, 0x65, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x52, 0x07, + 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, + 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, + 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x73, + 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x07, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x07, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x35, 0x0a, 0x15, 0x4e, 0x65, 0x65, 0x64, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, + 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x61, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x07, + 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x45, 0x78, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, + 0x69, 0x67, 0x6e, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, + 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, + 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x93, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x73, 0x70, 0x12, + 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x29, 0x0a, 0x07, 0x76, 0x65, 0x63, 0x46, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, + 0x64, 0x52, 0x07, 0x76, 0x65, 0x63, 0x46, 0x65, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x73, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x66, + 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x39, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x61, 0x73, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x61, 0x73, 0x74, 0x52, 0x0c, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x61, 0x73, 0x74, 0x22, 0xa7, 0x01, 0x0a, + 0x18, 0x53, 0x74, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, + 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x47, 0x0a, + 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x6f, 0x0a, 0x18, 0x53, 0x74, 0x47, 0x65, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x46, 0x65, 0x65, 0x64, 0x52, + 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, + 0x64, 0x52, 0x04, 0x66, 0x65, 0x65, 0x64, 0x22, 0xe4, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x47, 0x65, + 0x74, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x65, 0x65, 0x64, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x74, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xd0, + 0x01, 0x0a, 0x14, 0x53, 0x74, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x52, 0x07, + 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x0a, 0x76, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x12, 0x53, 0x74, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x64, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x52, + 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a, + 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x45, 0x78, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, + 0x04, 0x66, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x53, 0x74, 0x46, 0x65, 0x65, 0x64, 0x52, 0x04, 0x66, 0x65, + 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x53, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, + 0x72, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, +} + +var ( + file_pb_channel_GuildFeedCloudRead_proto_rawDescOnce sync.Once + file_pb_channel_GuildFeedCloudRead_proto_rawDescData = file_pb_channel_GuildFeedCloudRead_proto_rawDesc +) + +func file_pb_channel_GuildFeedCloudRead_proto_rawDescGZIP() []byte { + file_pb_channel_GuildFeedCloudRead_proto_rawDescOnce.Do(func() { + file_pb_channel_GuildFeedCloudRead_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_channel_GuildFeedCloudRead_proto_rawDescData) + }) + return file_pb_channel_GuildFeedCloudRead_proto_rawDescData +} + +var file_pb_channel_GuildFeedCloudRead_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_pb_channel_GuildFeedCloudRead_proto_goTypes = []interface{}{ + (*GetNoticesReq)(nil), // 0: channel.GetNoticesReq + (*GetNoticesRsp)(nil), // 1: channel.GetNoticesRsp + (*NeedInsertCommentInfo)(nil), // 2: channel.NeedInsertCommentInfo + (*RefreshToast)(nil), // 3: channel.RefreshToast + (*StGetChannelFeedsReq)(nil), // 4: channel.StGetChannelFeedsReq + (*StGetChannelFeedsRsp)(nil), // 5: channel.StGetChannelFeedsRsp + (*StGetChannelShareFeedReq)(nil), // 6: channel.StGetChannelShareFeedReq + (*StGetChannelShareFeedRsp)(nil), // 7: channel.StGetChannelShareFeedRsp + (*StGetFeedCommentsReq)(nil), // 8: channel.StGetFeedCommentsReq + (*StGetFeedCommentsRsp)(nil), // 9: channel.StGetFeedCommentsRsp + (*StGetFeedDetailReq)(nil), // 10: channel.StGetFeedDetailReq + (*StGetFeedDetailRsp)(nil), // 11: channel.StGetFeedDetailRsp + (*StCommonExt)(nil), // 12: channel.StCommonExt + (*StNotice)(nil), // 13: channel.StNotice + (*StChannelSign)(nil), // 14: channel.StChannelSign + (*StFeed)(nil), // 15: channel.StFeed + (*StUser)(nil), // 16: channel.StUser + (*StChannelShareInfo)(nil), // 17: channel.StChannelShareInfo + (*StComment)(nil), // 18: channel.StComment +} +var file_pb_channel_GuildFeedCloudRead_proto_depIdxs = []int32{ + 12, // 0: channel.GetNoticesReq.extInfo:type_name -> channel.StCommonExt + 12, // 1: channel.GetNoticesRsp.extInfo:type_name -> channel.StCommonExt + 13, // 2: channel.GetNoticesRsp.notices:type_name -> channel.StNotice + 12, // 3: channel.StGetChannelFeedsReq.extInfo:type_name -> channel.StCommonExt + 14, // 4: channel.StGetChannelFeedsReq.channelSign:type_name -> channel.StChannelSign + 12, // 5: channel.StGetChannelFeedsRsp.extInfo:type_name -> channel.StCommonExt + 15, // 6: channel.StGetChannelFeedsRsp.vecFeed:type_name -> channel.StFeed + 16, // 7: channel.StGetChannelFeedsRsp.user:type_name -> channel.StUser + 3, // 8: channel.StGetChannelFeedsRsp.refreshToast:type_name -> channel.RefreshToast + 12, // 9: channel.StGetChannelShareFeedReq.extInfo:type_name -> channel.StCommonExt + 17, // 10: channel.StGetChannelShareFeedReq.channelShareInfo:type_name -> channel.StChannelShareInfo + 12, // 11: channel.StGetChannelShareFeedRsp.extInfo:type_name -> channel.StCommonExt + 15, // 12: channel.StGetChannelShareFeedRsp.feed:type_name -> channel.StFeed + 12, // 13: channel.StGetFeedCommentsReq.extInfo:type_name -> channel.StCommonExt + 12, // 14: channel.StGetFeedCommentsRsp.extInfo:type_name -> channel.StCommonExt + 18, // 15: channel.StGetFeedCommentsRsp.vecComment:type_name -> channel.StComment + 12, // 16: channel.StGetFeedDetailReq.extInfo:type_name -> channel.StCommonExt + 14, // 17: channel.StGetFeedDetailReq.channelSign:type_name -> channel.StChannelSign + 12, // 18: channel.StGetFeedDetailRsp.extInfo:type_name -> channel.StCommonExt + 15, // 19: channel.StGetFeedDetailRsp.feed:type_name -> channel.StFeed + 16, // 20: channel.StGetFeedDetailRsp.loginUser:type_name -> channel.StUser + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name +} + +func init() { file_pb_channel_GuildFeedCloudRead_proto_init() } +func file_pb_channel_GuildFeedCloudRead_proto_init() { + if File_pb_channel_GuildFeedCloudRead_proto != nil { + return + } + file_pb_channel_GuildFeedCloudMeta_proto_init() + file_pb_channel_GuildChannelBase_proto_init() + if !protoimpl.UnsafeEnabled { + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNoticesReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNoticesRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NeedInsertCommentInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RefreshToast); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetChannelFeedsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetChannelFeedsRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetChannelShareFeedReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetChannelShareFeedRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetFeedCommentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetFeedCommentsRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetFeedDetailReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_channel_GuildFeedCloudRead_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StGetFeedDetailRsp); 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_pb_channel_GuildFeedCloudRead_proto_rawDesc, + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pb_channel_GuildFeedCloudRead_proto_goTypes, + DependencyIndexes: file_pb_channel_GuildFeedCloudRead_proto_depIdxs, + MessageInfos: file_pb_channel_GuildFeedCloudRead_proto_msgTypes, + }.Build() + File_pb_channel_GuildFeedCloudRead_proto = out.File + file_pb_channel_GuildFeedCloudRead_proto_rawDesc = nil + file_pb_channel_GuildFeedCloudRead_proto_goTypes = nil + file_pb_channel_GuildFeedCloudRead_proto_depIdxs = nil +} diff --git a/client/pb/channel/GuildFeedCloudRead.proto b/client/pb/channel/GuildFeedCloudRead.proto new file mode 100644 index 00000000..5ae9204c --- /dev/null +++ b/client/pb/channel/GuildFeedCloudRead.proto @@ -0,0 +1,93 @@ +syntax = "proto2"; + +package channel; + +option go_package = "pb/channel;channel"; + +import "pb/channel/GuildFeedCloudMeta.proto"; +import "pb/channel/GuildChannelBase.proto"; + + +message GetNoticesReq { + optional StCommonExt extInfo = 1; + optional uint32 pageNum = 2; + optional string attachInfo = 3; +} + +message GetNoticesRsp { + optional StCommonExt extInfo = 1; + repeated StNotice notices = 2; + optional uint32 totalNum = 3; + optional bool isFinish = 4; + optional string attachInfo = 5; +} + +message NeedInsertCommentInfo { + optional string commentID = 1; +} + +message RefreshToast { + optional string text = 1; +} + +message StGetChannelFeedsReq { + optional StCommonExt extInfo = 1; + optional uint32 count = 2; + optional uint32 from = 3; + optional StChannelSign channelSign = 4; + optional string feedAttchInfo = 5; +} + +message StGetChannelFeedsRsp { + optional StCommonExt extInfo = 1; + repeated StFeed vecFeed = 2; + optional uint32 isFinish = 3; + optional StUser user = 4; + optional string feedAttchInfo = 5; + optional RefreshToast refreshToast = 6; +} + +message StGetChannelShareFeedReq { + optional StCommonExt extInfo = 1; + optional uint32 from = 2; + optional StChannelShareInfo channelShareInfo = 3; +} + +message StGetChannelShareFeedRsp { + optional StCommonExt extInfo = 1; + optional StFeed feed = 2; +} + +message StGetFeedCommentsReq { + optional StCommonExt extInfo = 1; + optional string userId = 2; + optional string feedId = 3; + optional uint32 listNum = 4; + optional uint32 from = 5; + optional string attchInfo = 6; + optional string entrySchema = 7; +} + +message StGetFeedCommentsRsp { + optional StCommonExt extInfo = 1; + repeated StComment vecComment = 2; + optional uint32 totalNum = 3; + optional uint32 isFinish = 4; + optional string attchInfo = 5; +} + +message StGetFeedDetailReq { + optional StCommonExt extInfo = 1; + optional uint32 from = 2; + optional string userId = 3; + optional string feedId = 4; + optional uint64 createTime = 5; + optional uint32 detailType = 6; + optional StChannelSign channelSign = 7; +} + +message StGetFeedDetailRsp { + optional StCommonExt extInfo = 1; + optional StFeed feed = 2; + optional StUser loginUser = 3; +} diff --git a/client/pb/channel/MsgResponsesSvr.pb.go b/client/pb/channel/MsgResponsesSvr.pb.go index 9e477770..8840be6f 100644 --- a/client/pb/channel/MsgResponsesSvr.pb.go +++ b/client/pb/channel/MsgResponsesSvr.pb.go @@ -7,11 +7,10 @@ package channel import ( - reflect "reflect" - sync "sync" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) const ( @@ -230,10 +229,11 @@ type EmojiReaction struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EmojiId *string `protobuf:"bytes,1,opt,name=emojiId" json:"emojiId,omitempty"` - EmojiType *uint64 `protobuf:"varint,2,opt,name=emojiType" json:"emojiType,omitempty"` - Cnt *uint64 `protobuf:"varint,3,opt,name=cnt" json:"cnt,omitempty"` - IsClicked *bool `protobuf:"varint,4,opt,name=isClicked" json:"isClicked,omitempty"` + EmojiId *string `protobuf:"bytes,1,opt,name=emojiId" json:"emojiId,omitempty"` + EmojiType *uint64 `protobuf:"varint,2,opt,name=emojiType" json:"emojiType,omitempty"` + Cnt *uint64 `protobuf:"varint,3,opt,name=cnt" json:"cnt,omitempty"` + IsClicked *bool `protobuf:"varint,4,opt,name=isClicked" json:"isClicked,omitempty"` + IsDefaultEmoji *bool `protobuf:"varint,10001,opt,name=isDefaultEmoji" json:"isDefaultEmoji,omitempty"` } func (x *EmojiReaction) Reset() { @@ -296,6 +296,13 @@ func (x *EmojiReaction) GetIsClicked() bool { return false } +func (x *EmojiReaction) GetIsDefaultEmoji() bool { + if x != nil && x.IsDefaultEmoji != nil { + return *x.IsDefaultEmoji + } + return false +} + type GuildMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -596,40 +603,43 @@ var file_pb_channel_MsgResponsesSvr_proto_rawDesc = []byte{ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x77, 0x0a, 0x0d, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x08, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, - 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x76, 0x72, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x69, 0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, - 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x56, 0x0a, 0x06, 0x4d, 0x73, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x16, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73, 0x67, 0x49, - 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x0d, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x45, - 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x65, 0x6d, - 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x33, 0x0a, 0x05, 0x4d, - 0x73, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, - 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, - 0x22, 0x37, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x16, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73, - 0x67, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x63, 0x6e, 0x74, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x61, 0x22, 0xa0, 0x01, 0x0a, 0x0d, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0e, 0x69, + 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x91, 0x4e, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, + 0x6d, 0x6f, 0x6a, 0x69, 0x22, 0x5c, 0x0a, 0x08, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x73, 0x67, + 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x76, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, + 0x73, 0x67, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x69, 0x0a, 0x0c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x73, 0x67, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x12, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x56, 0x0a, + 0x06, 0x4d, 0x73, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x34, 0x0a, 0x0d, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x52, 0x65, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x33, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x22, 0x37, 0x0a, 0x0b, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, + 0x63, 0x6e, 0x74, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, } var ( diff --git a/client/pb/channel/MsgResponsesSvr.proto b/client/pb/channel/MsgResponsesSvr.proto index 4028abdc..68a7c34e 100644 --- a/client/pb/channel/MsgResponsesSvr.proto +++ b/client/pb/channel/MsgResponsesSvr.proto @@ -26,6 +26,7 @@ message EmojiReaction { optional uint64 emojiType = 2; optional uint64 cnt = 3; optional bool isClicked = 4; + optional bool isDefaultEmoji = 10001; } message GuildMsg { diff --git a/client/pb/qweb/protocol.pb.go b/client/pb/qweb/protocol.pb.go index bfee219c..5b506fa4 100644 --- a/client/pb/qweb/protocol.pb.go +++ b/client/pb/qweb/protocol.pb.go @@ -1,17 +1,16 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.17.1 +// protoc-gen-go v1.27.1 +// protoc v3.14.0 // source: protocol.proto package qweb import ( - reflect "reflect" - sync "sync" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) const ( @@ -26,11 +25,17 @@ type QWebReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Seq int64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"` - Qua string `protobuf:"bytes,2,opt,name=qua,proto3" json:"qua,omitempty"` - DeviceInfo string `protobuf:"bytes,3,opt,name=deviceInfo,proto3" json:"deviceInfo,omitempty"` - BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff,proto3" json:"busiBuff,omitempty"` - TraceId string `protobuf:"bytes,5,opt,name=traceId,proto3" json:"traceId,omitempty"` + Seq *int64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"` + Qua *string `protobuf:"bytes,2,opt,name=qua" json:"qua,omitempty"` + DeviceInfo *string `protobuf:"bytes,3,opt,name=deviceInfo" json:"deviceInfo,omitempty"` + BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff" json:"busiBuff,omitempty"` + TraceId *string `protobuf:"bytes,5,opt,name=traceId" json:"traceId,omitempty"` + Module *string `protobuf:"bytes,6,opt,name=Module" json:"Module,omitempty"` + Cmdname *string `protobuf:"bytes,7,opt,name=Cmdname" json:"Cmdname,omitempty"` + LoginSig *StAuthInfo `protobuf:"bytes,8,opt,name=loginSig" json:"loginSig,omitempty"` + Crypto *StEncryption `protobuf:"bytes,9,opt,name=Crypto" json:"Crypto,omitempty"` + Extinfo []*COMMEntry `protobuf:"bytes,10,rep,name=Extinfo" json:"Extinfo,omitempty"` + ContentType *uint32 `protobuf:"varint,11,opt,name=contentType" json:"contentType,omitempty"` } func (x *QWebReq) Reset() { @@ -66,22 +71,22 @@ func (*QWebReq) Descriptor() ([]byte, []int) { } func (x *QWebReq) GetSeq() int64 { - if x != nil { - return x.Seq + if x != nil && x.Seq != nil { + return *x.Seq } return 0 } func (x *QWebReq) GetQua() string { - if x != nil { - return x.Qua + if x != nil && x.Qua != nil { + return *x.Qua } return "" } func (x *QWebReq) GetDeviceInfo() string { - if x != nil { - return x.DeviceInfo + if x != nil && x.DeviceInfo != nil { + return *x.DeviceInfo } return "" } @@ -94,21 +99,64 @@ func (x *QWebReq) GetBusiBuff() []byte { } func (x *QWebReq) GetTraceId() string { - if x != nil { - return x.TraceId + if x != nil && x.TraceId != nil { + return *x.TraceId } return "" } +func (x *QWebReq) GetModule() string { + if x != nil && x.Module != nil { + return *x.Module + } + return "" +} + +func (x *QWebReq) GetCmdname() string { + if x != nil && x.Cmdname != nil { + return *x.Cmdname + } + return "" +} + +func (x *QWebReq) GetLoginSig() *StAuthInfo { + if x != nil { + return x.LoginSig + } + return nil +} + +func (x *QWebReq) GetCrypto() *StEncryption { + if x != nil { + return x.Crypto + } + return nil +} + +func (x *QWebReq) GetExtinfo() []*COMMEntry { + if x != nil { + return x.Extinfo + } + return nil +} + +func (x *QWebReq) GetContentType() uint32 { + if x != nil && x.ContentType != nil { + return *x.ContentType + } + return 0 +} + type QWebRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Seq int64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"` - RetCode int64 `protobuf:"varint,2,opt,name=retCode,proto3" json:"retCode,omitempty"` - ErrMsg string `protobuf:"bytes,3,opt,name=errMsg,proto3" json:"errMsg,omitempty"` - BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff,proto3" json:"busiBuff,omitempty"` + Seq *int64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"` + RetCode *int64 `protobuf:"varint,2,opt,name=retCode" json:"retCode,omitempty"` + ErrMsg *string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` + BusiBuff []byte `protobuf:"bytes,4,opt,name=busiBuff" json:"busiBuff,omitempty"` + Traceid *string `protobuf:"bytes,5,opt,name=traceid" json:"traceid,omitempty"` } func (x *QWebRsp) Reset() { @@ -144,22 +192,22 @@ func (*QWebRsp) Descriptor() ([]byte, []int) { } func (x *QWebRsp) GetSeq() int64 { - if x != nil { - return x.Seq + if x != nil && x.Seq != nil { + return *x.Seq } return 0 } func (x *QWebRsp) GetRetCode() int64 { - if x != nil { - return x.RetCode + if x != nil && x.RetCode != nil { + return *x.RetCode } return 0 } func (x *QWebRsp) GetErrMsg() string { - if x != nil { - return x.ErrMsg + if x != nil && x.ErrMsg != nil { + return *x.ErrMsg } return "" } @@ -171,11 +219,231 @@ func (x *QWebRsp) GetBusiBuff() []byte { return nil } +func (x *QWebRsp) GetTraceid() string { + if x != nil && x.Traceid != nil { + return *x.Traceid + } + return "" +} + +type StAuthInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uin *string `protobuf:"bytes,1,opt,name=uin" json:"uin,omitempty"` + Sig []byte `protobuf:"bytes,2,opt,name=sig" json:"sig,omitempty"` + Platform *string `protobuf:"bytes,3,opt,name=platform" json:"platform,omitempty"` + Type *uint32 `protobuf:"varint,4,opt,name=type" json:"type,omitempty"` + Appid *string `protobuf:"bytes,5,opt,name=appid" json:"appid,omitempty"` + Openid *string `protobuf:"bytes,6,opt,name=openid" json:"openid,omitempty"` + Sessionkey []byte `protobuf:"bytes,7,opt,name=sessionkey" json:"sessionkey,omitempty"` + Extinfo []*COMMEntry `protobuf:"bytes,8,rep,name=Extinfo" json:"Extinfo,omitempty"` +} + +func (x *StAuthInfo) Reset() { + *x = StAuthInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StAuthInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StAuthInfo) ProtoMessage() {} + +func (x *StAuthInfo) ProtoReflect() protoreflect.Message { + mi := &file_protocol_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 StAuthInfo.ProtoReflect.Descriptor instead. +func (*StAuthInfo) Descriptor() ([]byte, []int) { + return file_protocol_proto_rawDescGZIP(), []int{2} +} + +func (x *StAuthInfo) GetUin() string { + if x != nil && x.Uin != nil { + return *x.Uin + } + return "" +} + +func (x *StAuthInfo) GetSig() []byte { + if x != nil { + return x.Sig + } + return nil +} + +func (x *StAuthInfo) GetPlatform() string { + if x != nil && x.Platform != nil { + return *x.Platform + } + return "" +} + +func (x *StAuthInfo) GetType() uint32 { + if x != nil && x.Type != nil { + return *x.Type + } + return 0 +} + +func (x *StAuthInfo) GetAppid() string { + if x != nil && x.Appid != nil { + return *x.Appid + } + return "" +} + +func (x *StAuthInfo) GetOpenid() string { + if x != nil && x.Openid != nil { + return *x.Openid + } + return "" +} + +func (x *StAuthInfo) GetSessionkey() []byte { + if x != nil { + return x.Sessionkey + } + return nil +} + +func (x *StAuthInfo) GetExtinfo() []*COMMEntry { + if x != nil { + return x.Extinfo + } + return nil +} + +type StEncryption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Method *uint32 `protobuf:"varint,1,opt,name=method" json:"method,omitempty"` + Iv *string `protobuf:"bytes,2,opt,name=iv" json:"iv,omitempty"` +} + +func (x *StEncryption) Reset() { + *x = StEncryption{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StEncryption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StEncryption) ProtoMessage() {} + +func (x *StEncryption) ProtoReflect() protoreflect.Message { + mi := &file_protocol_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 StEncryption.ProtoReflect.Descriptor instead. +func (*StEncryption) Descriptor() ([]byte, []int) { + return file_protocol_proto_rawDescGZIP(), []int{3} +} + +func (x *StEncryption) GetMethod() uint32 { + if x != nil && x.Method != nil { + return *x.Method + } + return 0 +} + +func (x *StEncryption) GetIv() string { + if x != nil && x.Iv != nil { + return *x.Iv + } + return "" +} + +type COMMEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` +} + +func (x *COMMEntry) Reset() { + *x = COMMEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_protocol_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *COMMEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*COMMEntry) ProtoMessage() {} + +func (x *COMMEntry) ProtoReflect() protoreflect.Message { + mi := &file_protocol_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 COMMEntry.ProtoReflect.Descriptor instead. +func (*COMMEntry) Descriptor() ([]byte, []int) { + return file_protocol_proto_rawDescGZIP(), []int{4} +} + +func (x *COMMEntry) GetKey() string { + if x != nil && x.Key != nil { + return *x.Key + } + return "" +} + +func (x *COMMEntry) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + var File_protocol_proto protoreflect.FileDescriptor var file_protocol_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0x83, 0x01, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, + 0x22, 0xcd, 0x02, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x75, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x71, 0x75, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, @@ -183,15 +451,49 @@ var file_protocol_proto_rawDesc = []byte{ 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x73, - 0x70, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, - 0x73, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, - 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, - 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, - 0x66, 0x42, 0x09, 0x5a, 0x07, 0x2e, 0x2f, 0x3b, 0x71, 0x77, 0x65, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x43, 0x6d, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x43, 0x6d, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x69, + 0x6e, 0x53, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69, + 0x67, 0x12, 0x25, 0x0a, 0x06, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x12, 0x24, 0x0a, 0x07, 0x45, 0x78, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x4f, 0x4d, 0x4d, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x45, 0x78, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x83, 0x01, 0x0a, 0x07, 0x51, 0x57, 0x65, 0x62, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x07, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, + 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x62, 0x75, 0x73, 0x69, 0x42, 0x75, 0x66, 0x66, 0x12, 0x18, 0x0a, 0x07, + 0x74, 0x72, 0x61, 0x63, 0x65, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x69, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x07, 0x45, 0x78, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x4f, 0x4d, 0x4d, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x45, 0x78, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x36, 0x0a, + 0x0c, 0x53, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x76, 0x22, 0x33, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x09, 0x5a, 0x07, 0x2e, 0x2f, + 0x3b, 0x71, 0x77, 0x65, 0x62, } var ( @@ -206,17 +508,24 @@ func file_protocol_proto_rawDescGZIP() []byte { return file_protocol_proto_rawDescData } -var file_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_protocol_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_protocol_proto_goTypes = []interface{}{ - (*QWebReq)(nil), // 0: QWebReq - (*QWebRsp)(nil), // 1: QWebRsp + (*QWebReq)(nil), // 0: QWebReq + (*QWebRsp)(nil), // 1: QWebRsp + (*StAuthInfo)(nil), // 2: StAuthInfo + (*StEncryption)(nil), // 3: StEncryption + (*COMMEntry)(nil), // 4: COMMEntry } var file_protocol_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 2, // 0: QWebReq.loginSig:type_name -> StAuthInfo + 3, // 1: QWebReq.Crypto:type_name -> StEncryption + 4, // 2: QWebReq.Extinfo:type_name -> COMMEntry + 4, // 3: StAuthInfo.Extinfo:type_name -> COMMEntry + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name } func init() { file_protocol_proto_init() } @@ -249,6 +558,42 @@ func file_protocol_proto_init() { return nil } } + file_protocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StAuthInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StEncryption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_protocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*COMMEntry); 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{ @@ -256,7 +601,7 @@ func file_protocol_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protocol_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/client/pb/qweb/protocol.proto b/client/pb/qweb/protocol.proto index 8df205fb..53ee1fe1 100644 --- a/client/pb/qweb/protocol.proto +++ b/client/pb/qweb/protocol.proto @@ -1,18 +1,46 @@ -syntax = "proto3"; +syntax = "proto2"; option go_package = "./;qweb"; message QWebReq { - int64 seq = 1; - string qua = 2; - string deviceInfo = 3; - bytes busiBuff = 4; - string traceId = 5; + optional int64 seq = 1; + optional string qua = 2; + optional string deviceInfo = 3; + optional bytes busiBuff = 4; + optional string traceId = 5; + optional string Module = 6; + optional string Cmdname = 7; + optional StAuthInfo loginSig = 8; + optional StEncryption Crypto = 9; + repeated COMMEntry Extinfo = 10; + optional uint32 contentType = 11; } message QWebRsp { - int64 seq = 1; - int64 retCode = 2; - string errMsg = 3; - bytes busiBuff = 4; + optional int64 seq = 1; + optional int64 retCode = 2; + optional string errMsg = 3; + optional bytes busiBuff = 4; + optional string traceid = 5; +} + +message StAuthInfo { + optional string uin = 1; + optional bytes sig = 2; + optional string platform = 3; + optional uint32 type = 4; + optional string appid = 5; + optional string openid = 6; + optional bytes sessionkey = 7; + repeated COMMEntry Extinfo = 8; +} + +message StEncryption { + optional uint32 method = 1; + optional string iv = 2; +} + +message COMMEntry { + optional string key = 1; + optional string value = 2; } \ No newline at end of file