瀏覽代碼

首页列表搜索

WH01243 2 年之前
父節點
當前提交
ab6e696ef8

+ 1 - 0
jyBXBase/api/bxbase.api

@@ -96,6 +96,7 @@ type (
 		AppId     string `header:"appId"`              //appId
 		AppId     string `header:"appId"`              //appId
 		EntUserId string `header:"entUserId,optional"` //商机管理用户 用户id:entUserId
 		EntUserId string `header:"entUserId,optional"` //商机管理用户 用户id:entUserId
 		NewUserId int64  `header:"newUserId"`
 		NewUserId int64  `header:"newUserId"`
+		EntId     string `header:"entId,optional"`
 	}
 	}
 	//公共接口返回
 	//公共接口返回
 	CommonRes {
 	CommonRes {

+ 38 - 37
jyBXBase/api/internal/logic/newestBiddingLogic.go

@@ -1,52 +1,53 @@
 package logic
 package logic
 
 
 import (
 import (
-        "app.yhyue.com/moapp/jybase/common"
-        "context"
-        "jyBXBase/rpc/bxbase"
-        "net/http"
+	"app.yhyue.com/moapp/jybase/common"
+	"context"
+	"jyBXBase/rpc/bxbase"
+	"net/http"
 
 
-        "jyBXBase/api/internal/svc"
-        "jyBXBase/api/internal/types"
+	"jyBXBase/api/internal/svc"
+	"jyBXBase/api/internal/types"
 
 
-        "github.com/zeromicro/go-zero/core/logx"
+	"github.com/zeromicro/go-zero/core/logx"
 )
 )
 
 
 type NewestBiddingLogic struct {
 type NewestBiddingLogic struct {
-        logx.Logger
-        ctx    context.Context
-        svcCtx *svc.ServiceContext
-        r      *http.Request
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	r      *http.Request
 }
 }
 
 
 func NewNewestBiddingLogic(ctx context.Context, svcCtx *svc.ServiceContext, r *http.Request) *NewestBiddingLogic {
 func NewNewestBiddingLogic(ctx context.Context, svcCtx *svc.ServiceContext, r *http.Request) *NewestBiddingLogic {
-        return &NewestBiddingLogic{
-	      Logger: logx.WithContext(ctx),
-	      ctx:    ctx,
-	      svcCtx: svcCtx,
-	      r:      r,
-        }
+	return &NewestBiddingLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		r:      r,
+	}
 }
 }
 
 
 func (l *NewestBiddingLogic) NewestBidding(req *types.NewestReq) (resp *types.CommonRes, err error) {
 func (l *NewestBiddingLogic) NewestBidding(req *types.NewestReq) (resp *types.CommonRes, err error) {
-        res, err0 := l.svcCtx.Bxbase.NewestBidding(l.ctx, &bxbase.NewestBiddingReq{
-	      UserId:    req.UserId,
-	      AppId:     req.AppId,
-	      City:      req.City,
-	      IsSearch:  req.IsSearch,
-	      EntUserId: req.EntUserId,
-	      NewUserId: req.NewUserId,
-        })
-        if err0 != nil {
-	      return &types.CommonRes{
-		    Err_code: -1,
-		    Err_msg:  "错误",
-		    Data:     nil,
-	      }, nil
-        }
-        return &types.CommonRes{
-	      Err_code: common.IntAll(res.ErrCode),
-	      Err_msg:  res.ErrMsg,
-	      Data:     res.Data,
-        }, nil
+	res, err0 := l.svcCtx.Bxbase.NewestBidding(l.ctx, &bxbase.NewestBiddingReq{
+		UserId:    req.UserId,
+		AppId:     req.AppId,
+		City:      req.City,
+		IsSearch:  req.IsSearch,
+		EntUserId: req.EntUserId,
+		NewUserId: req.NewUserId,
+		EntId:     req.EntId,
+	})
+	if err0 != nil {
+		return &types.CommonRes{
+			Err_code: -1,
+			Err_msg:  "错误",
+			Data:     nil,
+		}, nil
+	}
+	return &types.CommonRes{
+		Err_code: common.IntAll(res.ErrCode),
+		Err_msg:  res.ErrMsg,
+		Data:     res.Data,
+	}, nil
 }
 }

+ 1 - 0
jyBXBase/api/internal/types/types.go

@@ -87,6 +87,7 @@ type NewestReq struct {
 	AppId     string `header:"appId"`              //appId
 	AppId     string `header:"appId"`              //appId
 	EntUserId string `header:"entUserId,optional"` //商机管理用户 用户id:entUserId
 	EntUserId string `header:"entUserId,optional"` //商机管理用户 用户id:entUserId
 	NewUserId int64  `header:"newUserId"`
 	NewUserId int64  `header:"newUserId"`
+	EntId     string `header:"entId,optional"`
 }
 }
 
 
 type CommonRes struct {
 type CommonRes struct {

+ 1 - 0
jyBXBase/rpc/bxbase.proto

@@ -174,6 +174,7 @@ message NewestBiddingReq{
   string  appId = 4;
   string  appId = 4;
   string  entUserId = 5;
   string  entUserId = 5;
   int64 newUserId = 6;
   int64 newUserId = 6;
+  string  entId=7;
 }
 }
 
 
 //首页最新招标信息Resp
 //首页最新招标信息Resp

+ 2 - 4
jyBXBase/rpc/init/init.go

@@ -6,8 +6,6 @@ import (
 	"jyBXBase/rpc/internal/config"
 	"jyBXBase/rpc/internal/config"
 
 
 	_ "github.com/go-sql-driver/mysql"
 	_ "github.com/go-sql-driver/mysql"
-	"github.com/zeromicro/go-zero/core/conf"
-	"github.com/zeromicro/go-zero/core/logx"
 )
 )
 
 
 var configFile = flag.String("cf", "etc/bxbase.yaml", "the config file")
 var configFile = flag.String("cf", "etc/bxbase.yaml", "the config file")
@@ -23,7 +21,7 @@ var logFile = flag.String("lf", "etc/logs.yaml", "the logs file")
 var logc entity.Logc
 var logc entity.Logc
 
 
 func init() {
 func init() {
-	//初始化日志信息
+	/*//初始化日志信息
 	conf.MustLoad(*logFile, &logc)
 	conf.MustLoad(*logFile, &logc)
 	if len(logc.Level) > 0 {
 	if len(logc.Level) > 0 {
 		for _, v := range logc.Level {
 		for _, v := range logc.Level {
@@ -48,5 +46,5 @@ func init() {
 	RedisInit(&DB.Redis)
 	RedisInit(&DB.Redis)
 	//初始es
 	//初始es
 	EsInit(&DB.Es)
 	EsInit(&DB.Es)
-
+	*/
 }
 }

+ 33 - 5
jyBXBase/rpc/internal/logic/newestbiddinglogic.go

@@ -37,13 +37,25 @@ func NewNewestBiddingLogic(ctx context.Context, svcCtx *svc.ServiceContext) *New
 // 首页最新招标信息
 // 首页最新招标信息
 func (l *NewestBiddingLogic) NewestBidding(in *bxbase.NewestBiddingReq) (*bxbase.NewsetBiddingResp, error) {
 func (l *NewestBiddingLogic) NewestBidding(in *bxbase.NewestBiddingReq) (*bxbase.NewsetBiddingResp, error) {
 	t := time.Now()
 	t := time.Now()
+	userType := ""
 	r := func(in *bxbase.NewestBiddingReq) *bxbase.NewsetBiddingResp {
 	r := func(in *bxbase.NewestBiddingReq) *bxbase.NewsetBiddingResp {
 		var res = &bxbase.NewsetBiddingResp{
 		var res = &bxbase.NewsetBiddingResp{
 			Data: &bxbase.NewsetBidding{
 			Data: &bxbase.NewsetBidding{
 				List: []*bxbase.NewestList{},
 				List: []*bxbase.NewestList{},
 			},
 			},
 		}
 		}
-		rks := MC.If(in.UserId != "", in.UserId, in.City).(string)
+		//主体处理(fType:普通用户;vType:超级订阅用户;mType:大会员用户;eType:商机管理用户)
+		infoCount := IC.MainMysql.CountBySql("select  count(id) from  entniche_wait_empower where  ent_id=? and  end_time>NOW() and (product_type like '%VIP订阅%' or product_type like '%大会员%') ", in.EntId)
+		if infoCount > 0 {
+			//主体等于企业的
+			userType = "e"
+		}
+		rks := ""
+		if userType == "e" {
+			rks = MC.If(in.UserId != "", MC.InterfaceToStr(in.EntUserId), in.City).(string)
+		} else {
+			rks = MC.If(in.UserId != "", in.UserId, in.City).(string)
+		}
 		redisByte, err := redis.GetBytes("other", "p1_indexMessage_new_"+rks)
 		redisByte, err := redis.GetBytes("other", "p1_indexMessage_new_"+rks)
 		if err == nil && redisByte != nil && len(*redisByte) > 0 {
 		if err == nil && redisByte != nil && len(*redisByte) > 0 {
 			err := json.Unmarshal(*redisByte, res.Data)
 			err := json.Unmarshal(*redisByte, res.Data)
@@ -57,7 +69,7 @@ func (l *NewestBiddingLogic) NewestBidding(in *bxbase.NewestBiddingReq) (*bxbase
 		if in.UserId != "" {
 		if in.UserId != "" {
 			//优先级 由测试确认  大会员 》 商机管理 》 VIP 》 普通用户 》 搜索历史
 			//优先级 由测试确认  大会员 》 商机管理 》 VIP 》 普通用户 》 搜索历史
 			//获取订阅信息
 			//获取订阅信息
-			userMap, ok := IC.Mgo.FindById("user", rks, `{"o_jy":1,"o_vipjy":1,"i_vip_status":1,"o_member_jy":1,"i_member_status":1,"s_m_phone":1,"s_phone":1}`)
+			userMap, ok := IC.Mgo.FindById("user", in.UserId, `{"o_jy":1,"o_vipjy":1,"i_vip_status":1,"o_member_jy":1,"i_member_status":1,"s_m_phone":1,"s_phone":1}`)
 			if !ok || userMap == nil || len(*userMap) == 0 {
 			if !ok || userMap == nil || len(*userMap) == 0 {
 				//查询出错
 				//查询出错
 				res.ErrCode = -1
 				res.ErrCode = -1
@@ -74,7 +86,12 @@ func (l *NewestBiddingLogic) NewestBidding(in *bxbase.NewestBiddingReq) (*bxbase
 				o_msgset := MC.ObjToMap((*userMap)["o_member_jy"])
 				o_msgset := MC.ObjToMap((*userMap)["o_member_jy"])
 				big_items, ok := (*o_msgset)["a_items"].([]interface{})
 				big_items, ok := (*o_msgset)["a_items"].([]interface{})
 				//大会员推送历史
 				//大会员推送历史
-				result := model.GetNewestInfo(rks, "m", in.NewUserId).GetPushHistory()
+				result := []*bxbase.NewestList{}
+				if userType == "e" {
+					result = model.GetNewestInfo(rks, "e", MC.Int64All(in.EntUserId)).GetPushHistory()
+				} else {
+					result = model.GetNewestInfo(rks, "m", in.NewUserId).GetPushHistory()
+				}
 				res.Data.Count = int64(len(result))
 				res.Data.Count = int64(len(result))
 				if res.Data.Count > 0 {
 				if res.Data.Count > 0 {
 					res.Data.HasSubKeys = ok && len(big_items) > 0
 					res.Data.HasSubKeys = ok && len(big_items) > 0
@@ -98,7 +115,12 @@ func (l *NewestBiddingLogic) NewestBidding(in *bxbase.NewestBiddingReq) (*bxbase
 				o_msgset := MC.ObjToMap((*userMap)["o_vipjy"])
 				o_msgset := MC.ObjToMap((*userMap)["o_vipjy"])
 				vip_items, ok := (*o_msgset)["a_items"].([]interface{})
 				vip_items, ok := (*o_msgset)["a_items"].([]interface{})
 				//vip查询推送历史
 				//vip查询推送历史
-				result := model.GetNewestInfo(rks, "v", in.NewUserId).GetPushHistory()
+				result := []*bxbase.NewestList{}
+				if userType == "e" {
+					result = model.GetNewestInfo(rks, "e", MC.Int64All(in.EntUserId)).GetPushHistory()
+				} else {
+					result = model.GetNewestInfo(rks, "v", in.NewUserId).GetPushHistory()
+				}
 				res.Data.IsVip = true
 				res.Data.IsVip = true
 				res.Data.HasSubKeys = ok && len(vip_items) > 0
 				res.Data.HasSubKeys = ok && len(vip_items) > 0
 				res.Data.Count = int64(len(result))
 				res.Data.Count = int64(len(result))
@@ -154,7 +176,13 @@ func (l *NewestBiddingLogic) NewestBidding(in *bxbase.NewestBiddingReq) (*bxbase
 			return r.Data.List[i].PublishTime > r.Data.List[j].PublishTime
 			return r.Data.List[i].PublishTime > r.Data.List[j].PublishTime
 		})
 		})
 		//
 		//
-		rks := MC.If(in.UserId != "", in.UserId, in.City).(string)
+		rks := ""
+		if userType == "e" {
+			rks = MC.If(in.UserId != "", MC.InterfaceToStr(in.EntUserId), in.City).(string)
+		} else {
+			rks = MC.If(in.UserId != "", in.UserId, in.City).(string)
+		}
+		//rks := MC.If(in.UserId != "", in.UserId, in.City).(string)
 		b, err := json.Marshal(r.Data)
 		b, err := json.Marshal(r.Data)
 		if err != nil {
 		if err != nil {
 			r.ErrCode = -1
 			r.ErrCode = -1

+ 174 - 164
jyBXBase/rpc/type/bxbase/bxbase.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.27.1
-// 	protoc        v3.19.4
+// 	protoc-gen-go v1.28.0
+// 	protoc        v3.15.1
 // source: bxbase.proto
 // source: bxbase.proto
 
 
 package bxbase
 package bxbase
@@ -1762,6 +1762,7 @@ type NewestBiddingReq struct {
 	AppId     string `protobuf:"bytes,4,opt,name=appId,proto3" json:"appId,omitempty"`
 	AppId     string `protobuf:"bytes,4,opt,name=appId,proto3" json:"appId,omitempty"`
 	EntUserId string `protobuf:"bytes,5,opt,name=entUserId,proto3" json:"entUserId,omitempty"`
 	EntUserId string `protobuf:"bytes,5,opt,name=entUserId,proto3" json:"entUserId,omitempty"`
 	NewUserId int64  `protobuf:"varint,6,opt,name=newUserId,proto3" json:"newUserId,omitempty"`
 	NewUserId int64  `protobuf:"varint,6,opt,name=newUserId,proto3" json:"newUserId,omitempty"`
+	EntId     string `protobuf:"bytes,7,opt,name=entId,proto3" json:"entId,omitempty"`
 }
 }
 
 
 func (x *NewestBiddingReq) Reset() {
 func (x *NewestBiddingReq) Reset() {
@@ -1838,6 +1839,13 @@ func (x *NewestBiddingReq) GetNewUserId() int64 {
 	return 0
 	return 0
 }
 }
 
 
+func (x *NewestBiddingReq) GetEntId() string {
+	if x != nil {
+		return x.EntId
+	}
+	return ""
+}
+
 //首页最新招标信息Resp
 //首页最新招标信息Resp
 type NewsetBiddingResp struct {
 type NewsetBiddingResp struct {
 	state         protoimpl.MessageState
 	state         protoimpl.MessageState
@@ -2815,7 +2823,7 @@ var file_bxbase_proto_rawDesc = []byte{
 	0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
 	0x52, 0x02, 0x69, 0x64, 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, 0x14, 0x0a, 0x05,
 	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
 	0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70,
 	0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70,
-	0x49, 0x64, 0x22, 0xac, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64,
+	0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64,
 	0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18,
 	0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18,
 	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x69,
 	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x69,
 	0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69,
 	0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69,
@@ -2826,170 +2834,172 @@ var file_bxbase_proto_rawDesc = []byte{
 	0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65,
 	0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65,
 	0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
 	0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64,
 	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49,
 	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x49,
-	0x64, 0x22, 0x71, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69,
-	0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f,
-	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64,
-	0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61,
-	0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c,
-	0x2e, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04,
-	0x64, 0x61, 0x74, 0x61, 0x22, 0xd4, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42,
-	0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a,
-	0x68, 0x61, 0x73, 0x53, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
-	0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1c, 0x0a, 0x09,
-	0x68, 0x61, 0x73, 0x48, 0x53, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
-	0x09, 0x68, 0x61, 0x73, 0x48, 0x53, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
-	0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
-	0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11,
-	0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73,
-	0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f,
-	0x72, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72,
-	0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c, 0x61, 0x67, 0x22, 0xa6, 0x03, 0x0a, 0x0a,
-	0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72,
-	0x65, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x12,
-	0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69,
-	0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
-	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x69, 0x64, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
-	0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
-	0x52, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x79, 0x65,
-	0x72, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75,
-	0x79, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63,
-	0x68, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x74,
-	0x63, 0x68, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
-	0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x62,
-	0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75,
-	0x73, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75,
-	0x73, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x09, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75,
-	0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62,
-	0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x0b, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
-	0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69,
-	0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
-	0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73,
-	0x43, 0x6f, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x43, 0x6f, 0x6c,
-	0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
-	0x73, 0x69, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f,
-	0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72,
-	0x43, 0x6f, 0x64, 0x65, 0x22, 0x3f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65,
-	0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07,
-	0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
-	0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x52, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
-	0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07,
-	0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65,
-	0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x20, 0x0a, 0x08, 0x41, 0x70, 0x70,
-	0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x22, 0xd0, 0x07, 0x0a, 0x0c,
-	0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04,
-	0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72,
-	0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
-	0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18,
-	0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x62, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69,
-	0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x69, 0x64,
-	0x55, 0x6e, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41,
-	0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x69, 0x64,
-	0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72,
-	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f,
-	0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55,
-	0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
-	0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
-	0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70,
-	0x70, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
-	0x02, 0x52, 0x03, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69,
-	0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74,
-	0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e,
-	0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74,
-	0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18,
-	0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09,
-	0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x09, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x75,
-	0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70,
-	0x70, 0x65, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70,
-	0x64, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x44,
-	0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x69, 0x64, 0x44,
-	0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x10, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
-	0x55, 0x6e, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70,
-	0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x12,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61,
-	0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08,
-	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08,
-	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x46,
-	0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
-	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12,
+	0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x05, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x73, 0x65,
+	0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08,
+	0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
+	0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d,
+	0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67,
+	0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+	0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64,
+	0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd4, 0x01, 0x0a, 0x0d, 0x4e,
+	0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05,
+	0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56,
+	0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x75, 0x62, 0x4b, 0x65,
+	0x79, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x48, 0x53, 0x4b, 0x65, 0x79, 0x73, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x48, 0x53, 0x4b, 0x65, 0x79, 0x73,
+	0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05,
+	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x6e, 0x65, 0x77,
+	0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a,
+	0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
+	0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c,
+	0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x46, 0x6c, 0x61,
+	0x67, 0x22, 0xa6, 0x03, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74,
+	0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+	0x61, 0x72, 0x65, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x61,
+	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x69, 0x64,
+	0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74,
+	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x1e,
+	0x0a, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1c,
+	0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x0a, 0x0b,
+	0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a,
+	0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69,
+	0x74, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
+	0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70,
+	0x70, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64,
+	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
+	0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0d,
+	0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73,
+	0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52,
+	0x05, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x74, 0x65, 0x18, 0x0f,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x70,
+	0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
+	0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x3f, 0x0a, 0x09, 0x43, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63,
+	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f,
+	0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x52, 0x0a, 0x08, 0x43,
+	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63,
+	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f,
+	0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64,
+	0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
+	0x20, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x41,
+	0x70, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49,
+	0x64, 0x22, 0xd0, 0x07, 0x0a, 0x0c, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65,
+	0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+	0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03,
+	0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x10,
+	0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x62, 0x69, 0x64,
+	0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x07, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x69,
+	0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0d, 0x62, 0x69, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64,
+	0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
+	0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72,
+	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11,
+	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e,
+	0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+	0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e,
+	0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07,
+	0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65,
+	0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69,
+	0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65,
+	0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05,
+	0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x75, 0x79,
+	0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x18,
+	0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74,
+	0x12, 0x28, 0x0a, 0x0f, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70,
+	0x65, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x79, 0x65, 0x72,
+	0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x69,
+	0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02,
+	0x52, 0x0c, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2a,
+	0x0a, 0x10, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e,
+	0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x69, 0x64, 0x44, 0x61, 0x79,
+	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x62, 0x69,
+	0x64, 0x44, 0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70,
+	0x70, 0x65, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x62, 0x69, 0x64, 0x44,
+	0x61, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65,
+	0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x13,
+	0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x22,
+	0x0a, 0x0c, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x14,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e,
+	0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e,
+	0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
 	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65,
 	0x62, 0x69, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65,
-	0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x69, 0x64, 0x46, 0x69, 0x65,
-	0x6c, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d,
-	0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x18, 0x16, 0x20,
-	0x01, 0x28, 0x02, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61,
-	0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72,
-	0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66,
-	0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74,
-	0x12, 0x38, 0x0a, 0x17, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63,
-	0x79, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x17, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79,
-	0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x75,
-	0x73, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x70, 0x75, 0x73, 0x68, 0x12, 0x1a,
-	0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x75,
-	0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x1b, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65,
-	0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18,
-	0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12,
-	0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x1d, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x32, 0xab,
-	0x05, 0x0a, 0x06, 0x62, 0x78, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x64,
-	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64,
-	0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f,
-	0x6c, 0x2e, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x12, 0x44, 0x0a,
-	0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+	0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72,
+	0x61, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64,
+	0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x69, 0x65, 0x6c,
+	0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x17, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61,
+	0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41,
+	0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e,
+	0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x63,
+	0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64,
+	0x12, 0x12, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04,
+	0x70, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74,
+	0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74,
+	0x12, 0x26, 0x0a, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x41, 0x70, 0x70, 0x65,
+	0x6e, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x55, 0x6e,
+	0x69, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f,
+	0x72, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72,
+	0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63,
+	0x6f, 0x64, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72,
+	0x43, 0x6f, 0x64, 0x65, 0x32, 0xab, 0x05, 0x0a, 0x06, 0x62, 0x78, 0x62, 0x61, 0x73, 0x65, 0x12,
+	0x32, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x2e, 0x62, 0x78,
+	0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a,
+	0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x6c, 0x61, 0x62, 0x65, 0x6c,
+	0x52, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41,
+	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x47, 0x65,
+	0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a,
 	0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c,
 	0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c,
-	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f,
-	0x6c, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-	0x52, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69,
-	0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
-	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f,
-	0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
-	0x12, 0x35, 0x0a, 0x08, 0x42, 0x43, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x2e, 0x62,
-	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x43, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
-	0x1a, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63,
-	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x49, 0x73, 0x43, 0x6f, 0x6c,
-	0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e,
-	0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a,
-	0x16, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63,
-	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12,
-	0x0e, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a,
-	0x0e, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12,
-	0x38, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x2e,
-	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
-	0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77,
-	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x41, 0x64, 0x64,
-	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41,
-	0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78,
-	0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x33, 0x0a,
-	0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62,
+	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x4c, 0x61, 0x62,
+	0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c,
+	0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a,
+	0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74,
+	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x42, 0x43, 0x41, 0x63, 0x74, 0x69,
+	0x6f, 0x6e, 0x12, 0x12, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x43, 0x41, 0x63, 0x74,
+	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c,
+	0x61, 0x62, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x3e, 0x0a,
+	0x0c, 0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e,
+	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69,
+	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x73,
+	0x43, 0x6f, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x26, 0x0a,
+	0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69,
+	0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4c, 0x69,
+	0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61,
+	0x72, 0x63, 0x68, 0x12, 0x14, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77,
+	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x62, 0x78, 0x63, 0x6f,
+	0x6c, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x12,
+	0x32, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62,
 	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65,
 	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65,
-	0x71, 0x1a, 0x0f, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
-	0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12,
-	0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63,
-	0x68, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74,
-	0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e,
-	0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
-	0x1a, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x65, 0x74, 0x42,
-	0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x08, 0x49, 0x6e,
-	0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41,
-	0x70, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e,
-	0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0a, 0x5a, 0x08,
-	0x2e, 0x2f, 0x62, 0x78, 0x62, 0x61, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x52, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x61, 0x72,
+	0x63, 0x68, 0x12, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x65,
+	0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e,
+	0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x53,
+	0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x13, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65,
+	0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x62, 0x78, 0x63,
+	0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0d,
+	0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x2e,
+	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x42, 0x69, 0x64, 0x64,
+	0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x4e,
+	0x65, 0x77, 0x73, 0x65, 0x74, 0x42, 0x69, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70,
+	0x12, 0x30, 0x0a, 0x08, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x62,
+	0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e,
+	0x62, 0x78, 0x63, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x52, 0x65,
+	0x73, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x62, 0x78, 0x62, 0x61, 0x73, 0x65, 0x62, 0x06,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 }
 
 
 var (
 var (

+ 1 - 1
jyBXBase/rpc/type/bxbase/bxbase_grpc.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 // versions:
 // versions:
 // - protoc-gen-go-grpc v1.2.0
 // - protoc-gen-go-grpc v1.2.0
-// - protoc             v3.19.4
+// - protoc             v3.15.1
 // source: bxbase.proto
 // source: bxbase.proto
 
 
 package bxbase
 package bxbase

+ 6 - 6
jyBXSubscribe/rpc/internal/logic/getkeylogic_test.go

@@ -30,15 +30,15 @@ func TestGetKeyLogic_GetKey(t *testing.T) {
 			name: "超级订阅获取",
 			name: "超级订阅获取",
 			args: args{
 			args: args{
 				in: &bxsubscribe.GetKeyReq{
 				in: &bxsubscribe.GetKeyReq{
-					UserType:  "vType",
-					UserId:    "6389918c95d15b282f20c1ca",
-					EntId:     "15178",
+					UserType:  "mType",
+					UserId:    "61e675d6f24e3943c7d21b04",
+					EntId:     "14640",
 					AppId:     "10000",
 					AppId:     "10000",
-					EntUserId: "4829",
-					NewUserId: 335871,
+					EntUserId: "3662",
+					NewUserId: 73044,
 					UserPower: 1,
 					UserPower: 1,
 					DeptId:    "3816",
 					DeptId:    "3816",
-					IsEnt:     true,
+					IsEnt:     false,
 				},
 				},
 			},
 			},
 		},
 		},

+ 8 - 7
jyBXSubscribe/rpc/internal/logic/getsublistlogic_test.go

@@ -122,23 +122,24 @@ func TestGetSubListLogic_GetSubList(t *testing.T) {
 			args: args{
 			args: args{
 				in: &bxsubscribe.SubscribeInfosReq{
 				in: &bxsubscribe.SubscribeInfosReq{
 					PageNum:    1,
 					PageNum:    1,
-					PageSize:   20,
+					PageSize:   50,
 					SelectTime: "",
 					SelectTime: "",
 					Area:       "",
 					Area:       "",
 					City:       "",
 					City:       "",
-					BuyerClass: "人大,政协,党委办,组织,宣传,统战,纪委,政府办,发改委,财政,教育,科技,工信,民政,民宗,人社,公安,检察院,法院,司法,应急管理,军队,自然资源,生态环境,住建,市政,城管,交通,水利,农业,气象,文旅,卫健委,医疗,学校,档案,体育,政务中心,机关事务,国资委,海关,税务,市场监管,商务,人行,银保监,证监,审计,出版广电,统计,公共资源交易,社会团体",
+					BuyerClass: "",
 					Subtype:    "",
 					Subtype:    "",
 					KeyWords:   "",
 					KeyWords:   "",
 					Industry:   "",
 					Industry:   "",
-					UserType:   "mType",
-					UserId:     "5e8eb60ae138234b4f91aacf",
-					EntId:      "1111",
+					UserType:   "fType",
+					UserId:     "5fd1bc2447da52d4c953f10a",
+					EntId:      "0",
 					AppId:      "10000",
 					AppId:      "10000",
 					Price:      "",
 					Price:      "",
 					FileExists: "",
 					FileExists: "",
-					EntUserId:  "",
+					EntUserId:  "0",
 					DeptId:     "1111",
 					DeptId:     "1111",
-					NewUserId:  72668,
+					NewUserId:  69146,
+					IsEnt: false,
 				},
 				},
 			},
 			},
 			want:    nil,
 			want:    nil,