This commit is contained in:
meixiongfeng 2023-11-03 18:47:00 +08:00
commit 8e3ab8effa
8 changed files with 446 additions and 355 deletions

View File

@ -15,7 +15,6 @@ func (this *apiComp) SingleOverCheck(session comm.IUserSession, req *pb.CanineRa
func (this *apiComp) SingleOver(session comm.IUserSession, req *pb.CanineRabbitSingleOverReq) (errdata *pb.ErrorData) { func (this *apiComp) SingleOver(session comm.IUserSession, req *pb.CanineRabbitSingleOverReq) (errdata *pb.ErrorData) {
var ( var (
info *pb.DBCanineRabbit info *pb.DBCanineRabbit
integral int32
err error err error
) )
if errdata = this.SingleOverCheck(session, req); errdata != nil { if errdata = this.SingleOverCheck(session, req); errdata != nil {
@ -30,10 +29,8 @@ func (this *apiComp) SingleOver(session comm.IUserSession, req *pb.CanineRabbitS
} }
if req.Stype == 0 { if req.Stype == 0 {
info.Rabbitintegral += 1 info.Rabbitintegral += 1
integral = info.Rabbitintegral
} else { } else {
info.Houndintegral += 1 info.Houndintegral += 1
integral = info.Houndintegral
} }
if err = this.module.model.Change(session.GetUserId(), map[string]interface{}{ if err = this.module.model.Change(session.GetUserId(), map[string]interface{}{
@ -46,6 +43,6 @@ func (this *apiComp) SingleOver(session comm.IUserSession, req *pb.CanineRabbitS
} }
return return
} }
session.SendMsg(string(this.module.GetType()), "singleover", &pb.DColorSingleOverResp{Integral: integral}) session.SendMsg(string(this.module.GetType()), "singleover", &pb.CanineRabbitSingleOverResp{Rabbitintegral: info.Rabbitintegral, Houndintegral: info.Houndintegral})
return return
} }

View File

@ -7,12 +7,7 @@ import (
//参数校验 //参数校验
func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (errdata *pb.ErrorData) { func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (errdata *pb.ErrorData) {
if session.GetUserId() != req.Captainid {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return return
} }
@ -44,20 +39,8 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat
Currhp: info.Property[comm.Dhp], Currhp: info.Property[comm.Dhp],
}, },
} }
if err = this.module.parkourComp.Change(info.Captainid, map[string]interface{}{ if req.Rtype == pb.RaceType_ordinary {
"state": info.State, if err = this.module.matchTrain.MatchReq(&pb.DBMatchPlayer{
"captainid": info.Captainid,
"member": info.Member,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if err = this.module.match.MatchReq(&pb.DBMatchPlayer{
Suser: info.User, Suser: info.User,
Dan: info.Dan, Dan: info.Dan,
Mount: info.Mount, Mount: info.Mount,
@ -71,9 +54,28 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat
} }
return return
} }
} else {
if err = this.module.matchrank.MatchReq(&pb.DBMatchPlayer{
Suser: info.User,
Dan: info.Dan,
Mount: info.Mount,
Property: info.Property,
Mlv: info.Mlv,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
}
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
"state": pb.RaceTeamState_matching, "state": pb.RaceTeamState_matching,
"captainid": info.Captainid,
"member": info.Member,
"rtype": info.Rtype,
}); err != nil { }); err != nil {
errdata = &pb.ErrorData{ errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError, Code: pb.ErrorCode_DBError,

View File

@ -7,12 +7,6 @@ import (
//参数校验 //参数校验
func (this *apiComp) RaceMatchCancelCheck(session comm.IUserSession, req *pb.ParkourRaceMatchCancelReq) (errdata *pb.ErrorData) { func (this *apiComp) RaceMatchCancelCheck(session comm.IUserSession, req *pb.ParkourRaceMatchCancelReq) (errdata *pb.ErrorData) {
if session.GetUserId() != req.Captainid {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return return
} }
@ -40,8 +34,8 @@ func (this *apiComp) RaceMatchCancel(session comm.IUserSession, req *pb.ParkourR
} }
return return
} }
if req.Rtype == pb.RaceType_ordinary {
if err = this.module.match.CancelMatch(session.GetUserId()); err != nil { if err = this.module.matchTrain.CancelMatch(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{ errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError, Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(), Title: pb.ErrorCode_DBError.ToString(),
@ -49,6 +43,16 @@ func (this *apiComp) RaceMatchCancel(session comm.IUserSession, req *pb.ParkourR
} }
return return
} }
} else {
if err = this.module.matchrank.CancelMatch(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
}
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
"state": pb.RaceTeamState_resting, "state": pb.RaceTeamState_resting,
}); err != nil { }); err != nil {

View File

@ -15,14 +15,14 @@ import (
/* /*
匹配组件 匹配组件
*/ */
type matchComp struct { type matchrankComp struct {
modules.MCompMatch modules.MCompMatch
service core.IService service core.IService
module *Parkour module *Parkour
} }
//组件初始化接口 //组件初始化接口
func (this *matchComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { func (this *matchrankComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompMatch.Init(service, module, comp, options) this.MCompMatch.Init(service, module, comp, options)
this.module = module.(*Parkour) this.module = module.(*Parkour)
this.service = service this.service = service
@ -30,12 +30,12 @@ func (this *matchComp) Init(service core.IService, module core.IModule, comp cor
return return
} }
func (this *matchComp) Start() (err error) { func (this *matchrankComp) Start() (err error) {
err = this.MCompMatch.Start() err = this.MCompMatch.Start()
return return
} }
func (this *matchComp) MatchReq(v *pb.DBMatchPlayer) (err error) { func (this *matchrankComp) MatchReq(v *pb.DBMatchPlayer) (err error) {
data, _ := anypb.New(v) data, _ := anypb.New(v)
err = this.module.service.RpcCall( err = this.module.service.RpcCall(
context.Background(), context.Background(),
@ -57,7 +57,7 @@ func (this *matchComp) MatchReq(v *pb.DBMatchPlayer) (err error) {
return return
} }
func (this *matchComp) MatchNotic(players map[string]interface{}) (err error) { func (this *matchrankComp) MatchNotic(players map[string]interface{}) (err error) {
var ( var (
playerSlice []*pb.DBMatchPlayer playerSlice []*pb.DBMatchPlayer
red []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0, 3) red []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0, 3)

View File

@ -0,0 +1,118 @@
package parkour
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"google.golang.org/protobuf/types/known/anypb"
)
/*
匹配组件
*/
type matchTrainComp struct {
modules.MCompMatch
service core.IService
module *Parkour
}
//组件初始化接口
func (this *matchTrainComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompMatch.Init(service, module, comp, options)
this.module = module.(*Parkour)
this.service = service
this.PoolName = "parkour"
return
}
func (this *matchTrainComp) Start() (err error) {
err = this.MCompMatch.Start()
return
}
func (this *matchTrainComp) MatchReq(v *pb.DBMatchPlayer) (err error) {
data, _ := anypb.New(v)
err = this.module.service.RpcCall(
context.Background(),
comm.Service_Mainte,
string(comm.RPC_JoinMatchPools),
&pb.JoinMatchPoolReq{
Poolname: this.PoolName,
Uid: v.Suser.Uid,
Dan: v.Dan,
Data: data,
Matchnum: 6,
Timeout: 10,
},
&pb.JoinMatchPoolResp{})
if err != nil {
this.module.Errorln(err)
return
}
return
}
func (this *matchTrainComp) MatchNotic(players map[string]interface{}) (err error) {
var (
playerSlice []*pb.DBMatchPlayer
red []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0, 3)
bule []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0, 3)
ais []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0, 6)
n int32
dan int32
leftnum int32
)
playerSlice = make([]*pb.DBMatchPlayer, 0, len(players))
for _, v := range players {
playerSlice = append(playerSlice, v.(*pb.DBMatchPlayer))
}
for i, v := range playerSlice {
if i%2 == 0 {
red = append(red, &pb.DBRaceMember{
User: v.Suser,
Dan: v.Dan,
Mlv: v.Mlv,
Mount: v.Mount,
Property: v.Property,
Currhp: v.Property[comm.Dhp],
})
dan = v.Dan
} else {
bule = append(bule, &pb.DBRaceMember{
User: v.Suser,
Dan: v.Dan,
Mlv: v.Mlv,
Mount: v.Mount,
Property: v.Property,
Currhp: v.Property[comm.Dhp],
})
dan = v.Dan
}
}
leftnum = 6 - int32(len(players))
if leftnum > 0 {
if ais, err = this.module.parkourComp.matcheAI(dan, leftnum); err != nil {
this.module.Error("matcheAI err!", log.Field{Key: "key", Value: err.Error()})
return
}
if len(red) < 3 {
n = 3 - int32(len(red))
red = append(red, ais[0:n]...)
ais = ais[n:]
}
if len(bule) < 3 {
bule = append(bule, ais[0:3-len(bule)]...)
}
}
if err = this.module.createbattle(red, bule); err != nil {
this.module.Error("createbattle err!", log.Field{Key: "key", Value: err.Error()})
}
return
}

View File

@ -39,7 +39,8 @@ type Parkour struct {
dragon comm.IDragon dragon comm.IDragon
api *apiComp api *apiComp
ai *aiComp ai *aiComp
match *matchComp matchTrain *matchTrainComp
matchrank *matchrankComp
configure *configureComp configure *configureComp
parkourComp *ModelParkourComp parkourComp *ModelParkourComp
raceComp *ModelRaceComp raceComp *ModelRaceComp
@ -82,7 +83,8 @@ func (this *Parkour) OnInstallComp() {
this.ModuleBase.OnInstallComp() this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.ai = this.RegisterComp(new(aiComp)).(*aiComp) this.ai = this.RegisterComp(new(aiComp)).(*aiComp)
this.match = this.RegisterComp(new(matchComp)).(*matchComp) this.matchTrain = this.RegisterComp(new(matchTrainComp)).(*matchTrainComp)
this.matchrank = this.RegisterComp(new(matchrankComp)).(*matchrankComp)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp) this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
this.parkourComp = this.RegisterComp(new(ModelParkourComp)).(*ModelParkourComp) this.parkourComp = this.RegisterComp(new(ModelParkourComp)).(*ModelParkourComp)
this.raceComp = this.RegisterComp(new(ModelRaceComp)).(*ModelRaceComp) this.raceComp = this.RegisterComp(new(ModelRaceComp)).(*ModelRaceComp)
@ -523,11 +525,7 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
func (this *Parkour) useroffline(uid, sessionid string) { func (this *Parkour) useroffline(uid, sessionid string) {
var ( var (
info *pb.DBParkour info *pb.DBParkour
// team *pb.DBParkour
// member *pb.DBRaceMember
users []string users []string
// keep bool
// index int32
err error err error
) )
if info, err = this.parkourComp.queryinfo(uid); err != nil { if info, err = this.parkourComp.queryinfo(uid); err != nil {
@ -560,58 +558,16 @@ func (this *Parkour) useroffline(uid, sessionid string) {
this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()}) this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
return return
} }
// if len(users) > 0 {
// if err = this.SendMsgToUsers(string(comm.ModulePvp), "teamdisbandnotice", &pb.ParkourTeamDisbandNoticePush{}, users...); err != nil {
// this.Errorln(err)
// }
// }
} else { } else {
// if team, err = this.parkourComp.queryinfo(info.Captainid); err != nil {
// this.Error("用户离线!", log.Field{Key: "Captainid", Value: info.Captainid}, log.Field{Key: "err", Value: err.Error()})
// return
// }
// users = make([]string, 0)
// for i, v := range team.Member {
// if v.Uid == uid {
// index = int32(i)
// member = v
// keep = true
// continue
// }
// if v.Uid != uid && !v.Isai {
// users = append(users, v.Uid)
// }
// }
// if keep {
// team.Member = append(team.Member[0:index], team.Member[index+1:]...)
// if err = this.parkourComp.Change(team.Uid, map[string]interface{}{
// "member": team.Member,
// }); err != nil {
// this.Error("用户离线! 解散队伍处理", log.Field{Key: "uid", Value: team.Uid}, log.Field{Key: "err", Value: err.Error()})
// return
// }
// if len(users) > 0 {
// this.SendMsgToUsers(string(this.GetType()), "teamquitnotice",
// &pb.ParkourTeamQuitNoticePush{Member: member}, users...)
// this.SendMsgToUsers(string(this.GetType()), "teamchanage",
// &pb.ParkourTeamChanagePush{Team: team}, users...)
// }
// }
} }
} else if info.State == pb.RaceTeamState_matching { } else if info.State == pb.RaceTeamState_matching {
if info.Captainid == uid { if info.Captainid == uid {
// err = this.service.RpcCall( if info.Rtype == pb.RaceType_ordinary {
// context.Background(), this.matchTrain.CancelMatch(info.Currbattid)
// comm.Service_Mainte, } else {
// string(comm.RPC_ParkourCancelMatch), this.matchrank.CancelMatch(info.Currbattid)
// &pb.RPCParkourCancelMatchReq{Captainid: info.Captainid}, }
// &pb.RPCParkourCancelMatchResp{})
// if err != nil {
// this.Errorln(err)
// return
// }
this.match.CancelMatch(info.Currbattid)
if err = this.parkourComp.Change(uid, map[string]interface{}{ if err = this.parkourComp.Change(uid, map[string]interface{}{
"captainid": "", "captainid": "",
"state": 0, "state": 0,

View File

@ -356,14 +356,15 @@ type DBParkour struct {
Mount string `protobuf:"bytes,6,opt,name=mount,proto3" json:"mount"` //上阵坐骑 Mount string `protobuf:"bytes,6,opt,name=mount,proto3" json:"mount"` //上阵坐骑
Property map[string]int32 `protobuf:"bytes,7,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑属性 Property map[string]int32 `protobuf:"bytes,7,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑属性
State RaceTeamState `protobuf:"varint,8,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态 State RaceTeamState `protobuf:"varint,8,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态
Currbattid string `protobuf:"bytes,9,opt,name=currbattid,proto3" json:"currbattid"` //当前战斗id Rtype RaceType `protobuf:"varint,9,opt,name=rtype,proto3,enum=RaceType" json:"rtype"` //比赛模式
Integral int32 `protobuf:"varint,10,opt,name=integral,proto3" json:"integral"` //积分 Currbattid string `protobuf:"bytes,10,opt,name=currbattid,proto3" json:"currbattid"` //当前战斗id
Captainid string `protobuf:"bytes,11,opt,name=captainid,proto3" json:"captainid"` //队长id 当前所在队伍 Integral int32 `protobuf:"varint,11,opt,name=integral,proto3" json:"integral"` //积分
Invite []*DBRaceInvite `protobuf:"bytes,12,rep,name=invite,proto3" json:"invite"` //邀请列表 Captainid string `protobuf:"bytes,12,opt,name=captainid,proto3" json:"captainid"` //队长id 当前所在队伍
Member []*DBRaceMember `protobuf:"bytes,13,rep,name=member,proto3" json:"member"` //成员列表 Invite []*DBRaceInvite `protobuf:"bytes,13,rep,name=invite,proto3" json:"invite"` //邀请列表
Weektime int64 `protobuf:"varint,14,opt,name=weektime,proto3" json:"weektime"` //周积分重置使用 Member []*DBRaceMember `protobuf:"bytes,14,rep,name=member,proto3" json:"member"` //成员列表
Weekreward map[int32]bool `protobuf:"bytes,15,rep,name=weekreward,proto3" json:"weekreward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //周长奖励领取 Weektime int64 `protobuf:"varint,15,opt,name=weektime,proto3" json:"weektime"` //周积分重置使用
Weekintegral int32 `protobuf:"varint,16,opt,name=weekintegral,proto3" json:"weekintegral"` //周积分 Weekreward map[int32]bool `protobuf:"bytes,16,rep,name=weekreward,proto3" json:"weekreward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //周长奖励领取
Weekintegral int32 `protobuf:"varint,17,opt,name=weekintegral,proto3" json:"weekintegral"` //周积分
} }
func (x *DBParkour) Reset() { func (x *DBParkour) Reset() {
@ -454,6 +455,13 @@ func (x *DBParkour) GetState() RaceTeamState {
return RaceTeamState_resting return RaceTeamState_resting
} }
func (x *DBParkour) GetRtype() RaceType {
if x != nil {
return x.Rtype
}
return RaceType_ordinary
}
func (x *DBParkour) GetCurrbattid() string { func (x *DBParkour) GetCurrbattid() string {
if x != nil { if x != nil {
return x.Currbattid return x.Currbattid
@ -740,7 +748,7 @@ var file_parkour_parkour_db_proto_rawDesc = []byte{
0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78,
0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, 0x70, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78, 0x70,
0x69, 0x72, 0x65, 0x64, 0x22, 0x8c, 0x05, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x69, 0x72, 0x65, 0x64, 0x22, 0xad, 0x05, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f,
0x75, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x75, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
@ -755,74 +763,76 @@ var file_parkour_parkour_db_proto_rawDesc = []byte{
0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x24, 0x0a,
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x52,
0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61, 0x74, 0x74, 0x69, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61, 0x74, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x72,
0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61, 0x74, 0x74,
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61,
0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x74, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c,
0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c,
0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x0c, 0x20,
0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69, 0x6e, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25,
0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06, 0x69,
0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18,
0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x77, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65,
0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x77, 0x65, 0x65, 0x6b, 0x72, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08,
0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42, 0x77, 0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77, 0x61, 0x77, 0x65, 0x65, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x77, 0x65, 0x65, 0x6b,
0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44,
0x61, 0x72, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77,
0x72, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x77, 0x65, 0x65, 0x6b, 0x72, 0x65,
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x65, 0x65, 0x6b,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x57, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x57, 0x65, 0x65, 0x6b, 0x72, 0x65, 0x77,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x02, 0x38, 0x01, 0x22, 0xad, 0x02, 0x0a, 0x06, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xad, 0x02, 0x0a, 0x06, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x12,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02,
0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x68, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x72, 0x74, 0x79,
0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64, 0x18, 0x04, 0x20,
0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x64, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65,
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x73, 0x63, 0x6f, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x64, 0x73, 0x63, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x09, 0x72, 0x65,
0x6f, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x73, 0x63,
0x65, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x64, 0x73,
0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61,
0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65,
0x72, 0x65, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x72,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x73, 0x63,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6f, 0x72, 0x65, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x75, 0x73, 0x65, 0x72, 0x18,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72,
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x64,
0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x04, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x6e, 0x12, 0x14, 0x0a,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f,
0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18,
0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50,
0x6d, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x6c, 0x76, 0x1a, 0x3b, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e,
0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x10, 0x0a,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x03, 0x6d, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x6c, 0x76, 0x1a,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x22, 0x0a, 0x08, 0x52, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x61, 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x2a, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x22, 0x0a, 0x08,
0x44, 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69,
0x12, 0x0b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x6e, 0x61, 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01,
0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x6d, 0x61, 0x2a, 0x44, 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74,
0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, 0x63, 0x65, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0b,
0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x6d,
0x72, 0x6f, 0x74, 0x6f, 0x33, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, 0x63,
0x65, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -859,19 +869,20 @@ var file_parkour_parkour_db_proto_depIdxs = []int32{
11, // 2: DBParkour.user:type_name -> BaseUserInfo 11, // 2: DBParkour.user:type_name -> BaseUserInfo
8, // 3: DBParkour.property:type_name -> DBParkour.PropertyEntry 8, // 3: DBParkour.property:type_name -> DBParkour.PropertyEntry
1, // 4: DBParkour.state:type_name -> RaceTeamState 1, // 4: DBParkour.state:type_name -> RaceTeamState
3, // 5: DBParkour.invite:type_name -> DBRaceInvite 0, // 5: DBParkour.rtype:type_name -> RaceType
2, // 6: DBParkour.member:type_name -> DBRaceMember 3, // 6: DBParkour.invite:type_name -> DBRaceInvite
9, // 7: DBParkour.weekreward:type_name -> DBParkour.WeekrewardEntry 2, // 7: DBParkour.member:type_name -> DBRaceMember
0, // 8: DBRace.rtype:type_name -> RaceType 9, // 8: DBParkour.weekreward:type_name -> DBParkour.WeekrewardEntry
2, // 9: DBRace.redmember:type_name -> DBRaceMember 0, // 9: DBRace.rtype:type_name -> RaceType
2, // 10: DBRace.bulemember:type_name -> DBRaceMember 2, // 10: DBRace.redmember:type_name -> DBRaceMember
11, // 11: DBMatchPlayer.suser:type_name -> BaseUserInfo 2, // 11: DBRace.bulemember:type_name -> DBRaceMember
10, // 12: DBMatchPlayer.property:type_name -> DBMatchPlayer.PropertyEntry 11, // 12: DBMatchPlayer.suser:type_name -> BaseUserInfo
13, // [13:13] is the sub-list for method output_type 10, // 13: DBMatchPlayer.property:type_name -> DBMatchPlayer.PropertyEntry
13, // [13:13] is the sub-list for method input_type 14, // [14:14] is the sub-list for method output_type
13, // [13:13] is the sub-list for extension type_name 14, // [14:14] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension extendee 14, // [14:14] is the sub-list for extension type_name
0, // [0:13] is the sub-list for field type_name 14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
} }
func init() { file_parkour_parkour_db_proto_init() } func init() { file_parkour_parkour_db_proto_init() }

View File

@ -225,7 +225,7 @@ type ParkourRaceMatchReq struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id Rtype RaceType `protobuf:"varint,1,opt,name=rtype,proto3,enum=RaceType" json:"rtype"`
} }
func (x *ParkourRaceMatchReq) Reset() { func (x *ParkourRaceMatchReq) Reset() {
@ -260,11 +260,11 @@ func (*ParkourRaceMatchReq) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{4} return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{4}
} }
func (x *ParkourRaceMatchReq) GetCaptainid() string { func (x *ParkourRaceMatchReq) GetRtype() RaceType {
if x != nil { if x != nil {
return x.Captainid return x.Rtype
} }
return "" return RaceType_ordinary
} }
//匹配请求 //匹配请求
@ -312,7 +312,7 @@ type ParkourRaceMatchCancelReq struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id Rtype RaceType `protobuf:"varint,1,opt,name=rtype,proto3,enum=RaceType" json:"rtype"`
} }
func (x *ParkourRaceMatchCancelReq) Reset() { func (x *ParkourRaceMatchCancelReq) Reset() {
@ -347,11 +347,11 @@ func (*ParkourRaceMatchCancelReq) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{6} return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{6}
} }
func (x *ParkourRaceMatchCancelReq) GetCaptainid() string { func (x *ParkourRaceMatchCancelReq) GetRtype() RaceType {
if x != nil { if x != nil {
return x.Captainid return x.Rtype
} }
return "" return RaceType_ordinary
} }
//匹配取消请求 //匹配取消请求
@ -1986,142 +1986,142 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{
0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6d,
0x74, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x74, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69,
0x64, 0x22, 0x33, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x64, 0x22, 0x36, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70,
0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79,
0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x70, 0x65, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72,
0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x39, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73,
0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x70, 0x22, 0x3c, 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65,
0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1f,
0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e,
0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x22,
0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x1c, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61,
0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x37, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x37, 0x0a,
0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63,
0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63,
0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65,
0x22, 0x2d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74,
0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74,
0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x72,
0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73,
0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22,
0x3f, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x54, 0x45, 0x52, 0x65, 0x71,
0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65,
0x22, 0x10, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x54, 0x45, 0x52, 0x65,
0x73, 0x70, 0x22, 0x7d, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x54, 0x45,
0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x74, 0x69, 0x6d,
0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12,
0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72,
0x65, 0x22, 0x3e, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74,
0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12,
0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
0x65, 0x73, 0x70, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74,
0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x84, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x68, 0x6f, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x3f, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
0x6b, 0x6f, 0x75, 0x72, 0x51, 0x54, 0x45, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x68, 0x6f, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01,
0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x28, 0x05, 0x52, 0x07, 0x73, 0x68, 0x6f, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74,
0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x50, 0x61,
0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x54, 0x45, 0x52, 0x65, 0x73, 0x70, 0x22, 0x7d, 0x0a, 0x15,
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x54, 0x45, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74,
0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3e, 0x0a, 0x0e, 0x50, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x49, 0x0a, 0x0f, 0x50,
0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69,
0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x84, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
0x01, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x4f, 0x70, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x50,
0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x68, 0x6f, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x68,
0x6f, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f,
0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63,
0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f,
0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x49, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64,
0x52, 0x65, 0x73, 0x70, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
0x41, 0x76, 0x6f, 0x69, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x75, 0x73, 0x68,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x68, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b,
0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x43,
0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x48, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x48, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69,
0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73,
0x75, 0x63, 0x63, 0x22, 0x7f, 0x0a, 0x1b, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x48, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x75,
0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x68, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f,
0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73,
0x63, 0x6f, 0x72, 0x65, 0x22, 0x2b, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41,
0x6c, 0x6c, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a,
0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66,
0x74, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f,
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x49, 0x6e,
0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72,
0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3c, 0x0a, 0x18, 0x50, 0x61,
0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74,
0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74,
0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72,
0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f,
0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72,
0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73,
0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x43, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52,
0x65, 0x65, 0x6b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x48, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62,
0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62,
0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02,
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x50, 0x61, 0x72,
0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x48, 0x70, 0x52, 0x65, 0x73,
0x52, 0x03, 0x72, 0x69, 0x64, 0x22, 0x36, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28,
0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x7f, 0x0a, 0x1b, 0x50, 0x61, 0x72,
0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x48, 0x70, 0x4f, 0x70, 0x65,
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x7e, 0x0a, 0x72, 0x61, 0x74, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70,
0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65,
0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74,
0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x65, 0x61, 0x6d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70,
0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x03, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x2b, 0x0a, 0x15, 0x50, 0x61,
0x61, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x50,
0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x61, 0x69, 0x73, 0x22, 0x19, 0x0a, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f,
0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x50, 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68,
0x12, 0x1e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f,
0x22, 0x3c, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x76, 0x69, 0x76,
0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e,
0x0a, 0x02, 0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x91,
0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76,
0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65,
0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07,
0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a,
0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
0x6c, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x05, 0x61, 0x77, 0x61,
0x72, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x47, 0x65, 0x74,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x69, 0x64, 0x22, 0x36, 0x0a, 0x14, 0x50,
0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69,
0x6e, 0x66, 0x6f, 0x22, 0x7e, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a,
0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42,
0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x12, 0x1f, 0x0a, 0x03, 0x61, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03,
0x61, 0x69, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38,
0x0a, 0x18, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63,
0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61,
0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50,
0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12,
0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44,
0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64,
0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49,
0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75,
0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62,
0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62,
0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02,
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43,
0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x75, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f,
0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73,
0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
} }
var ( var (
@ -2177,26 +2177,29 @@ var file_parkour_parkour_msg_proto_goTypes = []interface{}{
(*RPC_ParkourTrusteeshipReq)(nil), // 36: RPC_ParkourTrusteeshipReq (*RPC_ParkourTrusteeshipReq)(nil), // 36: RPC_ParkourTrusteeshipReq
(*RPC_ParkourTrusteeshipResp)(nil), // 37: RPC_ParkourTrusteeshipResp (*RPC_ParkourTrusteeshipResp)(nil), // 37: RPC_ParkourTrusteeshipResp
(*DBParkour)(nil), // 38: DBParkour (*DBParkour)(nil), // 38: DBParkour
(*DBRace)(nil), // 39: DBRace (RaceType)(0), // 39: RaceType
(*UserAtno)(nil), // 40: UserAtno (*DBRace)(nil), // 40: DBRace
(*DBRaceMember)(nil), // 41: DBRaceMember (*UserAtno)(nil), // 41: UserAtno
(*DBRaceMember)(nil), // 42: DBRaceMember
} }
var file_parkour_parkour_msg_proto_depIdxs = []int32{ var file_parkour_parkour_msg_proto_depIdxs = []int32{
38, // 0: ParkourInfoResp.info:type_name -> DBParkour 38, // 0: ParkourInfoResp.info:type_name -> DBParkour
39, // 1: ParkourRaceMatchSuccPush.race:type_name -> DBRace 39, // 1: ParkourRaceMatchReq.rtype:type_name -> RaceType
38, // 2: ParkourInfoChangePush.Info:type_name -> DBParkour 39, // 2: ParkourRaceMatchCancelReq.rtype:type_name -> RaceType
39, // 3: ParkourRaceOverPush.race:type_name -> DBRace 40, // 3: ParkourRaceMatchSuccPush.race:type_name -> DBRace
40, // 4: ParkourRaceOverPush.award:type_name -> UserAtno 38, // 4: ParkourInfoChangePush.Info:type_name -> DBParkour
38, // 5: ParkourGetRewardResp.info:type_name -> DBParkour 40, // 5: ParkourRaceOverPush.race:type_name -> DBRace
41, // 6: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember 41, // 6: ParkourRaceOverPush.award:type_name -> UserAtno
41, // 7: RPCParkourJoinMatchReq.ais:type_name -> DBRaceMember 38, // 7: ParkourGetRewardResp.info:type_name -> DBParkour
41, // 8: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember 42, // 8: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember
41, // 9: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember 42, // 9: RPCParkourJoinMatchReq.ais:type_name -> DBRaceMember
10, // [10:10] is the sub-list for method output_type 42, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember
10, // [10:10] is the sub-list for method input_type 42, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember
10, // [10:10] is the sub-list for extension type_name 12, // [12:12] is the sub-list for method output_type
10, // [10:10] is the sub-list for extension extendee 12, // [12:12] is the sub-list for method input_type
0, // [0:10] is the sub-list for field type_name 12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
} }
func init() { file_parkour_parkour_msg_proto_init() } func init() { file_parkour_parkour_msg_proto_init() }