From 65cea633568879719b5d13760341505c728ed31b Mon Sep 17 00:00:00 2001 From: cjy Date: Fri, 14 Nov 2025 10:28:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=8F=B0=E5=AF=BC=E5=87=BA=20excel=E3=80=81?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=8C=87=E6=B4=BE=EF=BC=8C=E4=B8=AD=E6=AD=A2?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=AD=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/bundle/bundle.pb.go | 5639 +++++++++++++++++----------- api/bundle/bundle.validator.pb.go | 38 + api/bundle/bundle_triple.pb.go | 182 +- pkg/router/taskBench.go | 15 + pkg/service/taskbench/taskBench.go | 219 +- 5 files changed, 3794 insertions(+), 2299 deletions(-) diff --git a/api/bundle/bundle.pb.go b/api/bundle/bundle.pb.go index 53c5414..2cff5ce 100644 --- a/api/bundle/bundle.pb.go +++ b/api/bundle/bundle.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.29.1 -// protoc v3.12.4 +// protoc-gen-go v1.27.1 +// protoc v3.21.1 // source: pb/bundle.proto package bundle @@ -27,8 +27,8 @@ type DeleteValueAddServiceRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - UserID uint64 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID,omitempty"` + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` + UserID uint64 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID"` } func (x *DeleteValueAddServiceRequest) Reset() { @@ -82,20 +82,20 @@ type GetReconciliationListReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` - BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - PayStatus int32 `protobuf:"varint,3,opt,name=payStatus,proto3" json:"payStatus,omitempty"` - PayChannel int32 `protobuf:"varint,4,opt,name=payChannel,proto3" json:"payChannel,omitempty"` - BundleOrderOn string `protobuf:"bytes,5,opt,name=bundleOrderOn,proto3" json:"bundleOrderOn,omitempty"` - CreatedStart string `protobuf:"bytes,6,opt,name=createdStart,proto3" json:"createdStart,omitempty"` - CreatedEnd string `protobuf:"bytes,7,opt,name=createdEnd,proto3" json:"createdEnd,omitempty"` - PayTimeStart string `protobuf:"bytes,8,opt,name=payTimeStart,proto3" json:"payTimeStart,omitempty"` - PayTimeEnd string `protobuf:"bytes,9,opt,name=payTimeEnd,proto3" json:"payTimeEnd,omitempty"` - SerialNumber string `protobuf:"bytes,10,opt,name=serialNumber,proto3" json:"serialNumber,omitempty"` - Page int32 `protobuf:"varint,11,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,12,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - UserIDS []uint64 `protobuf:"varint,13,rep,packed,name=userIDS,proto3" json:"userIDS,omitempty"` - BundleAddOrderOn string `protobuf:"bytes,14,opt,name=bundleAddOrderOn,proto3" json:"bundleAddOrderOn,omitempty"` + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName"` + BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName"` + PayStatus int32 `protobuf:"varint,3,opt,name=payStatus,proto3" json:"payStatus"` + PayChannel int32 `protobuf:"varint,4,opt,name=payChannel,proto3" json:"payChannel"` + BundleOrderOn string `protobuf:"bytes,5,opt,name=bundleOrderOn,proto3" json:"bundleOrderOn"` + CreatedStart string `protobuf:"bytes,6,opt,name=createdStart,proto3" json:"createdStart"` + CreatedEnd string `protobuf:"bytes,7,opt,name=createdEnd,proto3" json:"createdEnd"` + PayTimeStart string `protobuf:"bytes,8,opt,name=payTimeStart,proto3" json:"payTimeStart"` + PayTimeEnd string `protobuf:"bytes,9,opt,name=payTimeEnd,proto3" json:"payTimeEnd"` + SerialNumber string `protobuf:"bytes,10,opt,name=serialNumber,proto3" json:"serialNumber"` + Page int32 `protobuf:"varint,11,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,12,opt,name=pageSize,proto3" json:"pageSize"` + UserIDS []uint64 `protobuf:"varint,13,rep,packed,name=userIDS,proto3" json:"userIDS"` + BundleAddOrderOn string `protobuf:"bytes,14,opt,name=bundleAddOrderOn,proto3" json:"bundleAddOrderOn"` } func (x *GetReconciliationListReq) Reset() { @@ -233,10 +233,10 @@ type GetReconciliationListResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - List []*ReconciliationInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` - Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` - Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + List []*ReconciliationInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` } func (x *GetReconciliationListResp) Reset() { @@ -304,22 +304,22 @@ type ReconciliationInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - BundleOrderOn string `protobuf:"bytes,2,opt,name=bundleOrderOn,proto3" json:"bundleOrderOn,omitempty"` - BundleAddOrderOn string `protobuf:"bytes,3,opt,name=bundleAddOrderOn,proto3" json:"bundleAddOrderOn,omitempty"` - CreationTime string `protobuf:"bytes,4,opt,name=CreationTime,proto3" json:"CreationTime,omitempty"` - UserName string `protobuf:"bytes,5,opt,name=userName,proto3" json:"userName,omitempty"` - UserTel string `protobuf:"bytes,6,opt,name=userTel,proto3" json:"userTel,omitempty"` - BundleName string `protobuf:"bytes,7,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - PayAmount float32 `protobuf:"fixed32,8,opt,name=payAmount,proto3" json:"payAmount,omitempty"` - CurrencyType int32 `protobuf:"varint,9,opt,name=currencyType,proto3" json:"currencyType,omitempty"` - PayChannel int32 `protobuf:"varint,10,opt,name=payChannel,proto3" json:"payChannel,omitempty"` - PayTime string `protobuf:"bytes,11,opt,name=payTime,proto3" json:"payTime,omitempty"` - PayStatus int32 `protobuf:"varint,12,opt,name=payStatus,proto3" json:"payStatus,omitempty"` - SerialNumber string `protobuf:"bytes,13,opt,name=serialNumber,proto3" json:"serialNumber,omitempty"` - UserID uint64 `protobuf:"varint,14,opt,name=userID,proto3" json:"userID,omitempty"` - HandlingFee string `protobuf:"bytes,15,opt,name=handlingFee,proto3" json:"handlingFee,omitempty"` - SubNum string `protobuf:"bytes,16,opt,name=subNum,proto3" json:"subNum,omitempty"` + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` + BundleOrderOn string `protobuf:"bytes,2,opt,name=bundleOrderOn,proto3" json:"bundleOrderOn"` + BundleAddOrderOn string `protobuf:"bytes,3,opt,name=bundleAddOrderOn,proto3" json:"bundleAddOrderOn"` + CreationTime string `protobuf:"bytes,4,opt,name=CreationTime,proto3" json:"CreationTime"` + UserName string `protobuf:"bytes,5,opt,name=userName,proto3" json:"userName"` + UserTel string `protobuf:"bytes,6,opt,name=userTel,proto3" json:"userTel"` + BundleName string `protobuf:"bytes,7,opt,name=bundleName,proto3" json:"bundleName"` + PayAmount float32 `protobuf:"fixed32,8,opt,name=payAmount,proto3" json:"payAmount"` + CurrencyType int32 `protobuf:"varint,9,opt,name=currencyType,proto3" json:"currencyType"` + PayChannel int32 `protobuf:"varint,10,opt,name=payChannel,proto3" json:"payChannel"` + PayTime string `protobuf:"bytes,11,opt,name=payTime,proto3" json:"payTime"` + PayStatus int32 `protobuf:"varint,12,opt,name=payStatus,proto3" json:"payStatus"` + SerialNumber string `protobuf:"bytes,13,opt,name=serialNumber,proto3" json:"serialNumber"` + UserID uint64 `protobuf:"varint,14,opt,name=userID,proto3" json:"userID"` + HandlingFee string `protobuf:"bytes,15,opt,name=handlingFee,proto3" json:"handlingFee"` + SubNum string `protobuf:"bytes,16,opt,name=subNum,proto3" json:"subNum"` } func (x *ReconciliationInfo) Reset() { @@ -471,7 +471,7 @@ type OrderInfoByOrderNoRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo,omitempty"` + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` } func (x *OrderInfoByOrderNoRequest) Reset() { @@ -518,16 +518,16 @@ type OrderInfoByOrderNoResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` - UserId uint64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` - OrderUUID string `protobuf:"bytes,3,opt,name=orderUUID,proto3" json:"orderUUID,omitempty"` - AccountNumber int32 `protobuf:"varint,4,opt,name=accountNumber,proto3" json:"accountNumber,omitempty"` - VideoNumber int32 `protobuf:"varint,5,opt,name=videoNumber,proto3" json:"videoNumber,omitempty"` - ImageNumber int32 `protobuf:"varint,6,opt,name=imageNumber,proto3" json:"imageNumber,omitempty"` - DataNumber int32 `protobuf:"varint,7,opt,name=dataNumber,proto3" json:"dataNumber,omitempty"` - Duration int32 `protobuf:"varint,8,opt,name=duration,proto3" json:"duration,omitempty"` - Unit string `protobuf:"bytes,9,opt,name=unit,proto3" json:"unit,omitempty"` - UserName string `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName,omitempty"` + Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type"` + UserId uint64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId"` + OrderUUID string `protobuf:"bytes,3,opt,name=orderUUID,proto3" json:"orderUUID"` + AccountNumber int32 `protobuf:"varint,4,opt,name=accountNumber,proto3" json:"accountNumber"` + VideoNumber int32 `protobuf:"varint,5,opt,name=videoNumber,proto3" json:"videoNumber"` + ImageNumber int32 `protobuf:"varint,6,opt,name=imageNumber,proto3" json:"imageNumber"` + DataNumber int32 `protobuf:"varint,7,opt,name=dataNumber,proto3" json:"dataNumber"` + Duration int32 `protobuf:"varint,8,opt,name=duration,proto3" json:"duration"` + Unit string `protobuf:"bytes,9,opt,name=unit,proto3" json:"unit"` + UserName string `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName"` } func (x *OrderInfoByOrderNoResp) Reset() { @@ -637,27 +637,27 @@ type OrderCreateRecord struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BundleUuid string `protobuf:"bytes,1,opt,name=bundleUuid,proto3" json:"bundleUuid,omitempty"` - Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language,omitempty"` - ExpirationTime string `protobuf:"bytes,3,opt,name=expirationTime,proto3" json:"expirationTime,omitempty"` - BundleName string `protobuf:"bytes,4,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - CustomerID string `protobuf:"bytes,5,opt,name=customerID,proto3" json:"customerID,omitempty"` - CustomerNum string `protobuf:"bytes,6,opt,name=customerNum,proto3" json:"customerNum,omitempty"` - CustomerName string `protobuf:"bytes,7,opt,name=customerName,proto3" json:"customerName,omitempty"` - Amount float32 `protobuf:"fixed32,8,opt,name=amount,proto3" json:"amount,omitempty"` - AmountType int64 `protobuf:"varint,9,opt,name=amountType,proto3" json:"amountType,omitempty"` - SignContract string `protobuf:"bytes,10,opt,name=signContract,proto3" json:"signContract,omitempty"` - Signature string `protobuf:"bytes,11,opt,name=signature,proto3" json:"signature,omitempty"` - SignedTime string `protobuf:"bytes,12,opt,name=signedTime,proto3" json:"signedTime,omitempty"` - Status int64 `protobuf:"varint,13,opt,name=status,proto3" json:"status,omitempty"` - PayTime string `protobuf:"bytes,14,opt,name=payTime,proto3" json:"payTime,omitempty"` - ContractNo string `protobuf:"bytes,15,opt,name=contractNo,proto3" json:"contractNo,omitempty"` - TotalAmount float32 `protobuf:"fixed32,16,opt,name=totalAmount,proto3" json:"totalAmount,omitempty"` //总金额 - BundleCommonUid string `protobuf:"bytes,17,opt,name=bundleCommonUid,proto3" json:"bundleCommonUid,omitempty"` - Snapshot string `protobuf:"bytes,18,opt,name=snapshot,proto3" json:"snapshot,omitempty"` - PayType int32 `protobuf:"varint,19,opt,name=payType,proto3" json:"payType,omitempty"` - AddRecords []*OrderCreateAddRecord `protobuf:"bytes,20,rep,name=addRecords,proto3" json:"addRecords,omitempty"` //增值服务 - OrderNo string `protobuf:"bytes,21,opt,name=orderNo,proto3" json:"orderNo,omitempty"` + BundleUuid string `protobuf:"bytes,1,opt,name=bundleUuid,proto3" json:"bundleUuid"` + Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language"` + ExpirationTime string `protobuf:"bytes,3,opt,name=expirationTime,proto3" json:"expirationTime"` + BundleName string `protobuf:"bytes,4,opt,name=bundleName,proto3" json:"bundleName"` + CustomerID string `protobuf:"bytes,5,opt,name=customerID,proto3" json:"customerID"` + CustomerNum string `protobuf:"bytes,6,opt,name=customerNum,proto3" json:"customerNum"` + CustomerName string `protobuf:"bytes,7,opt,name=customerName,proto3" json:"customerName"` + Amount float32 `protobuf:"fixed32,8,opt,name=amount,proto3" json:"amount"` + AmountType int64 `protobuf:"varint,9,opt,name=amountType,proto3" json:"amountType"` + SignContract string `protobuf:"bytes,10,opt,name=signContract,proto3" json:"signContract"` + Signature string `protobuf:"bytes,11,opt,name=signature,proto3" json:"signature"` + SignedTime string `protobuf:"bytes,12,opt,name=signedTime,proto3" json:"signedTime"` + Status int64 `protobuf:"varint,13,opt,name=status,proto3" json:"status"` + PayTime string `protobuf:"bytes,14,opt,name=payTime,proto3" json:"payTime"` + ContractNo string `protobuf:"bytes,15,opt,name=contractNo,proto3" json:"contractNo"` + TotalAmount float32 `protobuf:"fixed32,16,opt,name=totalAmount,proto3" json:"totalAmount"` //总金额 + BundleCommonUid string `protobuf:"bytes,17,opt,name=bundleCommonUid,proto3" json:"bundleCommonUid"` + Snapshot string `protobuf:"bytes,18,opt,name=snapshot,proto3" json:"snapshot"` + PayType int32 `protobuf:"varint,19,opt,name=payType,proto3" json:"payType"` + AddRecords []*OrderCreateAddRecord `protobuf:"bytes,20,rep,name=addRecords,proto3" json:"addRecords"` //增值服务 + OrderNo string `protobuf:"bytes,21,opt,name=orderNo,proto3" json:"orderNo"` } func (x *OrderCreateRecord) Reset() { @@ -844,19 +844,19 @@ type OrderCreateAddRecord struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ServiceType int32 `protobuf:"varint,1,opt,name=serviceType,proto3" json:"serviceType,omitempty"` - ValueUid string `protobuf:"bytes,2,opt,name=valueUid,proto3" json:"valueUid,omitempty"` - CurrencyType int64 `protobuf:"varint,3,opt,name=currencyType,proto3" json:"currencyType,omitempty"` - Amount float32 `protobuf:"fixed32,4,opt,name=amount,proto3" json:"amount,omitempty"` - Num int32 `protobuf:"varint,5,opt,name=num,proto3" json:"num,omitempty"` - Unit string `protobuf:"bytes,6,opt,name=unit,proto3" json:"unit,omitempty"` - Source int32 `protobuf:"varint,7,opt,name=source,proto3" json:"source,omitempty"` - PaymentStatus int32 `protobuf:"varint,8,opt,name=paymentStatus,proto3" json:"paymentStatus,omitempty"` - HandlingFee string `protobuf:"bytes,9,opt,name=handlingFee,proto3" json:"handlingFee,omitempty"` - EquityType int32 `protobuf:"varint,10,opt,name=equityType,proto3" json:"equityType,omitempty"` - QuotaType int32 `protobuf:"varint,11,opt,name=quotaType,proto3" json:"quotaType,omitempty"` - QuotaValue int32 `protobuf:"varint,12,opt,name=quotaValue,proto3" json:"quotaValue,omitempty"` - IsExpired bool `protobuf:"varint,13,opt,name=isExpired,proto3" json:"isExpired,omitempty"` + ServiceType int32 `protobuf:"varint,1,opt,name=serviceType,proto3" json:"serviceType"` + ValueUid string `protobuf:"bytes,2,opt,name=valueUid,proto3" json:"valueUid"` + CurrencyType int64 `protobuf:"varint,3,opt,name=currencyType,proto3" json:"currencyType"` + Amount float32 `protobuf:"fixed32,4,opt,name=amount,proto3" json:"amount"` + Num int32 `protobuf:"varint,5,opt,name=num,proto3" json:"num"` + Unit string `protobuf:"bytes,6,opt,name=unit,proto3" json:"unit"` + Source int32 `protobuf:"varint,7,opt,name=source,proto3" json:"source"` + PaymentStatus int32 `protobuf:"varint,8,opt,name=paymentStatus,proto3" json:"paymentStatus"` + HandlingFee string `protobuf:"bytes,9,opt,name=handlingFee,proto3" json:"handlingFee"` + EquityType int32 `protobuf:"varint,10,opt,name=equityType,proto3" json:"equityType"` + QuotaType int32 `protobuf:"varint,11,opt,name=quotaType,proto3" json:"quotaType"` + QuotaValue int32 `protobuf:"varint,12,opt,name=quotaValue,proto3" json:"quotaValue"` + IsExpired bool `protobuf:"varint,13,opt,name=isExpired,proto3" json:"isExpired"` } func (x *OrderCreateAddRecord) Reset() { @@ -987,22 +987,22 @@ type OrderRecordsRequestV2 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CustomerName string `protobuf:"bytes,1,opt,name=customerName,proto3" json:"customerName,omitempty"` - TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` - BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - PayStatus int32 `protobuf:"varint,4,opt,name=payStatus,proto3" json:"payStatus,omitempty"` - AddPayStatus int32 `protobuf:"varint,5,opt,name=addPayStatus,proto3" json:"addPayStatus,omitempty"` - OrderNo string `protobuf:"bytes,6,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - OrderAddNo string `protobuf:"bytes,7,opt,name=orderAddNo,proto3" json:"orderAddNo,omitempty"` - BundleCreateAtStart string `protobuf:"bytes,8,opt,name=bundleCreateAtStart,proto3" json:"bundleCreateAtStart,omitempty"` - BundleCreateAtEnd string `protobuf:"bytes,9,opt,name=bundleCreateAtEnd,proto3" json:"bundleCreateAtEnd,omitempty"` - OrderAddCreateAtStart string `protobuf:"bytes,10,opt,name=orderAddCreateAtStart,proto3" json:"orderAddCreateAtStart,omitempty"` - OrderAddCreateAtEnd string `protobuf:"bytes,11,opt,name=orderAddCreateAtEnd,proto3" json:"orderAddCreateAtEnd,omitempty"` - Page int32 `protobuf:"varint,12,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,13,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - UserIds []int64 `protobuf:"varint,14,rep,packed,name=userIds,proto3" json:"userIds,omitempty"` - BundlePayStart string `protobuf:"bytes,15,opt,name=bundlePayStart,proto3" json:"bundlePayStart,omitempty"` - BundlePayEnd string `protobuf:"bytes,16,opt,name=bundlePayEnd,proto3" json:"bundlePayEnd,omitempty"` + CustomerName string `protobuf:"bytes,1,opt,name=customerName,proto3" json:"customerName"` + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` + BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName"` + PayStatus int32 `protobuf:"varint,4,opt,name=payStatus,proto3" json:"payStatus"` + AddPayStatus int32 `protobuf:"varint,5,opt,name=addPayStatus,proto3" json:"addPayStatus"` + OrderNo string `protobuf:"bytes,6,opt,name=orderNo,proto3" json:"orderNo"` + OrderAddNo string `protobuf:"bytes,7,opt,name=orderAddNo,proto3" json:"orderAddNo"` + BundleCreateAtStart string `protobuf:"bytes,8,opt,name=bundleCreateAtStart,proto3" json:"bundleCreateAtStart"` + BundleCreateAtEnd string `protobuf:"bytes,9,opt,name=bundleCreateAtEnd,proto3" json:"bundleCreateAtEnd"` + OrderAddCreateAtStart string `protobuf:"bytes,10,opt,name=orderAddCreateAtStart,proto3" json:"orderAddCreateAtStart"` + OrderAddCreateAtEnd string `protobuf:"bytes,11,opt,name=orderAddCreateAtEnd,proto3" json:"orderAddCreateAtEnd"` + Page int32 `protobuf:"varint,12,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,13,opt,name=pageSize,proto3" json:"pageSize"` + UserIds []int64 `protobuf:"varint,14,rep,packed,name=userIds,proto3" json:"userIds"` + BundlePayStart string `protobuf:"bytes,15,opt,name=bundlePayStart,proto3" json:"bundlePayStart"` + BundlePayEnd string `protobuf:"bytes,16,opt,name=bundlePayEnd,proto3" json:"bundlePayEnd"` } func (x *OrderRecordsRequestV2) Reset() { @@ -1154,10 +1154,10 @@ type OrderRecordsResponseV2 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BundleInfo []*OrderBundleRecordInfo `protobuf:"bytes,1,rep,name=bundleInfo,proto3" json:"bundleInfo,omitempty"` - Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total,omitempty"` + BundleInfo []*OrderBundleRecordInfo `protobuf:"bytes,1,rep,name=bundleInfo,proto3" json:"bundleInfo"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` } func (x *OrderRecordsResponseV2) Reset() { @@ -1225,17 +1225,17 @@ type OrderBundleRecordInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - PayStatus int32 `protobuf:"varint,3,opt,name=payStatus,proto3" json:"payStatus,omitempty"` - TelNum string `protobuf:"bytes,4,opt,name=telNum,proto3" json:"telNum,omitempty"` - CustomerName string `protobuf:"bytes,5,opt,name=customerName,proto3" json:"customerName,omitempty"` - BundleCreateAt string `protobuf:"bytes,6,opt,name=bundleCreateAt,proto3" json:"bundleCreateAt,omitempty"` - Amount float32 `protobuf:"fixed32,7,opt,name=amount,proto3" json:"amount,omitempty"` - AddBundleInfo []*OrderAddBundleRecordInfo `protobuf:"bytes,8,rep,name=addBundleInfo,proto3" json:"addBundleInfo,omitempty"` - CustomerId int64 `protobuf:"varint,9,opt,name=customerId,proto3" json:"customerId,omitempty"` - PayTime string `protobuf:"bytes,10,opt,name=payTime,proto3" json:"payTime,omitempty"` - SubNum string `protobuf:"bytes,11,opt,name=subNum,proto3" json:"subNum,omitempty"` + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` + BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName"` + PayStatus int32 `protobuf:"varint,3,opt,name=payStatus,proto3" json:"payStatus"` + TelNum string `protobuf:"bytes,4,opt,name=telNum,proto3" json:"telNum"` + CustomerName string `protobuf:"bytes,5,opt,name=customerName,proto3" json:"customerName"` + BundleCreateAt string `protobuf:"bytes,6,opt,name=bundleCreateAt,proto3" json:"bundleCreateAt"` + Amount float32 `protobuf:"fixed32,7,opt,name=amount,proto3" json:"amount"` + AddBundleInfo []*OrderAddBundleRecordInfo `protobuf:"bytes,8,rep,name=addBundleInfo,proto3" json:"addBundleInfo"` + CustomerId int64 `protobuf:"varint,9,opt,name=customerId,proto3" json:"customerId"` + PayTime string `protobuf:"bytes,10,opt,name=payTime,proto3" json:"payTime"` + SubNum string `protobuf:"bytes,11,opt,name=subNum,proto3" json:"subNum"` } func (x *OrderBundleRecordInfo) Reset() { @@ -1352,19 +1352,19 @@ type OrderAddBundleRecordInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderAddNo string `protobuf:"bytes,1,opt,name=orderAddNo,proto3" json:"orderAddNo,omitempty"` - Amount float32 `protobuf:"fixed32,2,opt,name=amount,proto3" json:"amount,omitempty"` - SettlementAmount float32 `protobuf:"fixed32,3,opt,name=settlementAmount,proto3" json:"settlementAmount,omitempty"` - CurrencyType int32 `protobuf:"varint,4,opt,name=currencyType,proto3" json:"currencyType,omitempty"` - HandlingFee string `protobuf:"bytes,5,opt,name=handlingFee,proto3" json:"handlingFee,omitempty"` - ExchangeRate float32 `protobuf:"fixed32,6,opt,name=exchangeRate,proto3" json:"exchangeRate,omitempty"` - OrderAddCreateAt string `protobuf:"bytes,7,opt,name=orderAddCreateAt,proto3" json:"orderAddCreateAt,omitempty"` - AddPayStatus int32 `protobuf:"varint,8,opt,name=addPayStatus,proto3" json:"addPayStatus,omitempty"` - Contract string `protobuf:"bytes,9,opt,name=contract,proto3" json:"contract,omitempty"` - Snapshot string `protobuf:"bytes,10,opt,name=snapshot,proto3" json:"snapshot,omitempty"` - CheckoutSessionId string `protobuf:"bytes,11,opt,name=CheckoutSessionId,proto3" json:"CheckoutSessionId,omitempty"` - CustomerID string `protobuf:"bytes,12,opt,name=CustomerID,proto3" json:"CustomerID,omitempty"` - VideoNum int32 `protobuf:"varint,13,opt,name=videoNum,proto3" json:"videoNum,omitempty"` + OrderAddNo string `protobuf:"bytes,1,opt,name=orderAddNo,proto3" json:"orderAddNo"` + Amount float32 `protobuf:"fixed32,2,opt,name=amount,proto3" json:"amount"` + SettlementAmount float32 `protobuf:"fixed32,3,opt,name=settlementAmount,proto3" json:"settlementAmount"` + CurrencyType int32 `protobuf:"varint,4,opt,name=currencyType,proto3" json:"currencyType"` + HandlingFee string `protobuf:"bytes,5,opt,name=handlingFee,proto3" json:"handlingFee"` + ExchangeRate float32 `protobuf:"fixed32,6,opt,name=exchangeRate,proto3" json:"exchangeRate"` + OrderAddCreateAt string `protobuf:"bytes,7,opt,name=orderAddCreateAt,proto3" json:"orderAddCreateAt"` + AddPayStatus int32 `protobuf:"varint,8,opt,name=addPayStatus,proto3" json:"addPayStatus"` + Contract string `protobuf:"bytes,9,opt,name=contract,proto3" json:"contract"` + Snapshot string `protobuf:"bytes,10,opt,name=snapshot,proto3" json:"snapshot"` + CheckoutSessionId string `protobuf:"bytes,11,opt,name=CheckoutSessionId,proto3" json:"CheckoutSessionId"` + CustomerID string `protobuf:"bytes,12,opt,name=CustomerID,proto3" json:"CustomerID"` + VideoNum int32 `protobuf:"varint,13,opt,name=videoNum,proto3" json:"videoNum"` } func (x *OrderAddBundleRecordInfo) Reset() { @@ -1495,8 +1495,8 @@ type PackagePriceAndTimeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Price float32 `protobuf:"fixed32,1,opt,name=price,proto3" json:"price,omitempty"` - Time string `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"` + Price float32 `protobuf:"fixed32,1,opt,name=price,proto3" json:"price"` + Time string `protobuf:"bytes,2,opt,name=time,proto3" json:"time"` } func (x *PackagePriceAndTimeResponse) Reset() { @@ -1550,9 +1550,9 @@ type CommonResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` - OrderNo string `protobuf:"bytes,3,opt,name=orderNo,proto3" json:"orderNo,omitempty"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + OrderNo string `protobuf:"bytes,3,opt,name=orderNo,proto3" json:"orderNo"` } func (x *CommonResponse) Reset() { @@ -1613,27 +1613,27 @@ type BundleProfile struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Price float32 `protobuf:"fixed32,3,opt,name=price,proto3" json:"price,omitempty"` - PriceType int64 `protobuf:"varint,4,opt,name=priceType,proto3" json:"priceType,omitempty"` - Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` - Contract string `protobuf:"bytes,6,opt,name=contract,proto3" json:"contract,omitempty"` - Language string `protobuf:"bytes,7,opt,name=language,proto3" json:"language,omitempty"` - CreatedAt string `protobuf:"bytes,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - UpdatedAt string `protobuf:"bytes,9,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` - CompanySign string `protobuf:"bytes,10,opt,name=companySign,proto3" json:"companySign,omitempty"` - ContractDuration int64 `protobuf:"varint,11,opt,name=contractDuration,proto3" json:"contractDuration,omitempty"` - BundleCommonUid string `protobuf:"bytes,12,opt,name=bundleCommonUid,proto3" json:"bundleCommonUid,omitempty"` - Sort int64 `protobuf:"varint,13,opt,name=sort,proto3" json:"sort,omitempty"` - BgImg1 string `protobuf:"bytes,14,opt,name=bgImg1,proto3" json:"bgImg1,omitempty"` - BgImg2 string `protobuf:"bytes,15,opt,name=bgImg2,proto3" json:"bgImg2,omitempty"` - ShelfStatus int64 `protobuf:"varint,16,opt,name=shelfStatus,proto3" json:"shelfStatus,omitempty"` // 1 上架 2 下架 - SelectValueAddService []*SelectValueAddService `protobuf:"bytes,17,rep,name=selectValueAddService,json=SelectValueAddService,proto3" json:"selectValueAddService,omitempty"` - SelectValueAdditionalService []*SelectValueAdditionalService `protobuf:"bytes,18,rep,name=selectValueAdditionalService,json=SelectValueAdditionalService,proto3" json:"selectValueAdditionalService,omitempty"` - BundleProfileLang []*BundleProfileLang `protobuf:"bytes,19,rep,name=bundleProfileLang,proto3" json:"bundleProfileLang,omitempty"` - ImgOption int32 `protobuf:"varint,20,opt,name=imgOption,proto3" json:"imgOption,omitempty"` - FontColor string `protobuf:"bytes,21,opt,name=fontColor,proto3" json:"fontColor,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Price float32 `protobuf:"fixed32,3,opt,name=price,proto3" json:"price"` + PriceType int64 `protobuf:"varint,4,opt,name=priceType,proto3" json:"priceType"` + Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content"` + Contract string `protobuf:"bytes,6,opt,name=contract,proto3" json:"contract"` + Language string `protobuf:"bytes,7,opt,name=language,proto3" json:"language"` + CreatedAt string `protobuf:"bytes,8,opt,name=createdAt,proto3" json:"createdAt"` + UpdatedAt string `protobuf:"bytes,9,opt,name=updatedAt,proto3" json:"updatedAt"` + CompanySign string `protobuf:"bytes,10,opt,name=companySign,proto3" json:"companySign"` + ContractDuration int64 `protobuf:"varint,11,opt,name=contractDuration,proto3" json:"contractDuration"` + BundleCommonUid string `protobuf:"bytes,12,opt,name=bundleCommonUid,proto3" json:"bundleCommonUid"` + Sort int64 `protobuf:"varint,13,opt,name=sort,proto3" json:"sort"` + BgImg1 string `protobuf:"bytes,14,opt,name=bgImg1,proto3" json:"bgImg1"` + BgImg2 string `protobuf:"bytes,15,opt,name=bgImg2,proto3" json:"bgImg2"` + ShelfStatus int64 `protobuf:"varint,16,opt,name=shelfStatus,proto3" json:"shelfStatus"` // 1 上架 2 下架 + SelectValueAddService []*SelectValueAddService `protobuf:"bytes,17,rep,name=selectValueAddService,json=SelectValueAddService,proto3" json:"selectValueAddService"` + SelectValueAdditionalService []*SelectValueAdditionalService `protobuf:"bytes,18,rep,name=selectValueAdditionalService,json=SelectValueAdditionalService,proto3" json:"selectValueAdditionalService"` + BundleProfileLang []*BundleProfileLang `protobuf:"bytes,19,rep,name=bundleProfileLang,proto3" json:"bundleProfileLang"` + ImgOption int32 `protobuf:"varint,20,opt,name=imgOption,proto3" json:"imgOption"` + FontColor string `protobuf:"bytes,21,opt,name=fontColor,proto3" json:"fontColor"` } func (x *BundleProfile) Reset() { @@ -1820,24 +1820,24 @@ type BundleProfileLang struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Price float32 `protobuf:"fixed32,3,opt,name=price,proto3" json:"price,omitempty"` - PriceType int64 `protobuf:"varint,4,opt,name=priceType,proto3" json:"priceType,omitempty"` - Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"` - Language string `protobuf:"bytes,6,opt,name=language,proto3" json:"language,omitempty"` - CreatedAt string `protobuf:"bytes,7,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` - Contract string `protobuf:"bytes,9,opt,name=contract,proto3" json:"contract,omitempty"` - CompanySign string `protobuf:"bytes,10,opt,name=companySign,proto3" json:"companySign,omitempty"` - ContractDuration int64 `protobuf:"varint,11,opt,name=contractDuration,proto3" json:"contractDuration,omitempty"` - FontColor string `protobuf:"bytes,12,opt,name=fontColor,proto3" json:"fontColor,omitempty"` - Sort int64 `protobuf:"varint,13,opt,name=sort,proto3" json:"sort,omitempty"` - BgImg1 string `protobuf:"bytes,14,opt,name=bgImg1,proto3" json:"bgImg1,omitempty"` - BgImg2 string `protobuf:"bytes,15,opt,name=bgImg2,proto3" json:"bgImg2,omitempty"` - ShelfStatus int64 `protobuf:"varint,16,opt,name=shelfStatus,proto3" json:"shelfStatus,omitempty"` // 1 上架 2 下架 - ImgOption int32 `protobuf:"varint,17,opt,name=imgOption,proto3" json:"imgOption,omitempty"` - ServiceLangInfo []*ServiceLangInfo `protobuf:"bytes,18,rep,name=serviceLangInfo,proto3" json:"serviceLangInfo,omitempty"` //增值服务信息 + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Price float32 `protobuf:"fixed32,3,opt,name=price,proto3" json:"price"` + PriceType int64 `protobuf:"varint,4,opt,name=priceType,proto3" json:"priceType"` + Content string `protobuf:"bytes,5,opt,name=content,proto3" json:"content"` + Language string `protobuf:"bytes,6,opt,name=language,proto3" json:"language"` + CreatedAt string `protobuf:"bytes,7,opt,name=createdAt,proto3" json:"createdAt"` + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` + Contract string `protobuf:"bytes,9,opt,name=contract,proto3" json:"contract"` + CompanySign string `protobuf:"bytes,10,opt,name=companySign,proto3" json:"companySign"` + ContractDuration int64 `protobuf:"varint,11,opt,name=contractDuration,proto3" json:"contractDuration"` + FontColor string `protobuf:"bytes,12,opt,name=fontColor,proto3" json:"fontColor"` + Sort int64 `protobuf:"varint,13,opt,name=sort,proto3" json:"sort"` + BgImg1 string `protobuf:"bytes,14,opt,name=bgImg1,proto3" json:"bgImg1"` + BgImg2 string `protobuf:"bytes,15,opt,name=bgImg2,proto3" json:"bgImg2"` + ShelfStatus int64 `protobuf:"varint,16,opt,name=shelfStatus,proto3" json:"shelfStatus"` // 1 上架 2 下架 + ImgOption int32 `protobuf:"varint,17,opt,name=imgOption,proto3" json:"imgOption"` + ServiceLangInfo []*ServiceLangInfo `protobuf:"bytes,18,rep,name=serviceLangInfo,proto3" json:"serviceLangInfo"` //增值服务信息 } func (x *BundleProfileLang) Reset() { @@ -2003,8 +2003,8 @@ type ServiceLangInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ValueAddUuid string `protobuf:"bytes,1,opt,name=valueAddUuid,proto3" json:"valueAddUuid,omitempty"` //增值服务uuid - BenefitsType int32 `protobuf:"varint,2,opt,name=benefitsType,proto3" json:"benefitsType,omitempty"` //权益类型 1:套餐权益 2:可选附加权益 + ValueAddUuid string `protobuf:"bytes,1,opt,name=valueAddUuid,proto3" json:"valueAddUuid"` //增值服务uuid + BenefitsType int32 `protobuf:"varint,2,opt,name=benefitsType,proto3" json:"benefitsType"` //权益类型 1:套餐权益 2:可选附加权益 } func (x *ServiceLangInfo) Reset() { @@ -2058,9 +2058,9 @@ type SaveResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"` - CancelNum int64 `protobuf:"varint,3,opt,name=cancelNum,proto3" json:"cancelNum,omitempty"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` + CancelNum int64 `protobuf:"varint,3,opt,name=cancelNum,proto3" json:"cancelNum"` } func (x *SaveResponse) Reset() { @@ -2122,14 +2122,14 @@ type SelectValueAddService struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ValueAddUuid string `protobuf:"bytes,1,opt,name=valueAddUuid,proto3" json:"valueAddUuid,omitempty"` - ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName,omitempty"` // 服务名称 - IsDisplay bool `protobuf:"varint,3,opt,name=isDisplay,proto3" json:"isDisplay,omitempty"` // 是否显示 - ServiceType int32 `protobuf:"varint,4,opt,name=serviceType,proto3" json:"serviceType,omitempty"` // 服务类型 - QuotaType int32 `protobuf:"varint,5,opt,name=quotaType,proto3" json:"quotaType,omitempty"` // 额度类型 1;不限额度 2:每月限额度 - QuotaValue int32 `protobuf:"varint,6,opt,name=quotaValue,proto3" json:"quotaValue,omitempty"` // 额度值 - IsExpired bool `protobuf:"varint,7,opt,name=isExpired,proto3" json:"isExpired,omitempty"` // 是否过期作废 - DefaultServiceValue int32 `protobuf:"varint,8,opt,name=defaultServiceValue,proto3" json:"defaultServiceValue,omitempty"` // 默认服务值 + ValueAddUuid string `protobuf:"bytes,1,opt,name=valueAddUuid,proto3" json:"valueAddUuid"` + ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName"` // 服务名称 + IsDisplay bool `protobuf:"varint,3,opt,name=isDisplay,proto3" json:"isDisplay"` // 是否显示 + ServiceType int32 `protobuf:"varint,4,opt,name=serviceType,proto3" json:"serviceType"` // 服务类型 + QuotaType int32 `protobuf:"varint,5,opt,name=quotaType,proto3" json:"quotaType"` // 额度类型 1;不限额度 2:每月限额度 + QuotaValue int32 `protobuf:"varint,6,opt,name=quotaValue,proto3" json:"quotaValue"` // 额度值 + IsExpired bool `protobuf:"varint,7,opt,name=isExpired,proto3" json:"isExpired"` // 是否过期作废 + DefaultServiceValue int32 `protobuf:"varint,8,opt,name=defaultServiceValue,proto3" json:"defaultServiceValue"` // 默认服务值 } func (x *SelectValueAddService) Reset() { @@ -2226,14 +2226,14 @@ type SelectValueAdditionalService struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ValueAddUuid string `protobuf:"bytes,1,opt,name=valueAddUuid,proto3" json:"valueAddUuid,omitempty"` - ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName,omitempty"` // 服务名称 - IsDisplay bool `protobuf:"varint,3,opt,name=isDisplay,proto3" json:"isDisplay,omitempty"` // 是否显示 - ServiceType int32 `protobuf:"varint,4,opt,name=serviceType,proto3" json:"serviceType,omitempty"` // 服务类型 - QuotaType int32 `protobuf:"varint,5,opt,name=quotaType,proto3" json:"quotaType,omitempty"` // 额度类型 1;不限额度 2:每月限额度 - QuotaValue int32 `protobuf:"varint,6,opt,name=quotaValue,proto3" json:"quotaValue,omitempty"` // 额度值 - IsExpired bool `protobuf:"varint,7,opt,name=isExpired,proto3" json:"isExpired,omitempty"` // 是否过期作废 - DefaultServiceValue int32 `protobuf:"varint,8,opt,name=defaultServiceValue,proto3" json:"defaultServiceValue,omitempty"` // 默认服务值 + ValueAddUuid string `protobuf:"bytes,1,opt,name=valueAddUuid,proto3" json:"valueAddUuid"` + ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName"` // 服务名称 + IsDisplay bool `protobuf:"varint,3,opt,name=isDisplay,proto3" json:"isDisplay"` // 是否显示 + ServiceType int32 `protobuf:"varint,4,opt,name=serviceType,proto3" json:"serviceType"` // 服务类型 + QuotaType int32 `protobuf:"varint,5,opt,name=quotaType,proto3" json:"quotaType"` // 额度类型 1;不限额度 2:每月限额度 + QuotaValue int32 `protobuf:"varint,6,opt,name=quotaValue,proto3" json:"quotaValue"` // 额度值 + IsExpired bool `protobuf:"varint,7,opt,name=isExpired,proto3" json:"isExpired"` // 是否过期作废 + DefaultServiceValue int32 `protobuf:"varint,8,opt,name=defaultServiceValue,proto3" json:"defaultServiceValue"` // 默认服务值 } func (x *SelectValueAdditionalService) Reset() { @@ -2329,7 +2329,7 @@ type DelBundleRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` } func (x *DelBundleRequest) Reset() { @@ -2376,11 +2376,11 @@ type BundleListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` - Language string `protobuf:"bytes,5,opt,name=language,proto3" json:"language,omitempty"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` + Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content"` + Language string `protobuf:"bytes,5,opt,name=language,proto3" json:"language"` } func (x *BundleListRequest) Reset() { @@ -2455,8 +2455,8 @@ type BundleListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Bundles []*BundleProfile `protobuf:"bytes,1,rep,name=bundles,proto3" json:"bundles,omitempty"` - Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + Bundles []*BundleProfile `protobuf:"bytes,1,rep,name=bundles,proto3" json:"bundles"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` } func (x *BundleListResponse) Reset() { @@ -2510,8 +2510,8 @@ type BundleDetailRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language,omitempty"` //语言 默认zh-CN, zh-CN zh-TW EN de-DE js-JP + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language"` //语言 默认zh-CN, zh-CN zh-TW EN de-DE js-JP } func (x *BundleDetailRequest) Reset() { @@ -2565,8 +2565,8 @@ type HandShelfRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - ShelfStatus int64 `protobuf:"varint,2,opt,name=shelfStatus,proto3" json:"shelfStatus,omitempty"` // 1 上架 2 下架 + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + ShelfStatus int64 `protobuf:"varint,2,opt,name=shelfStatus,proto3" json:"shelfStatus"` // 1 上架 2 下架 } func (x *HandShelfRequest) Reset() { @@ -2620,8 +2620,8 @@ type BundleDetailResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Bundle *BundleProfile `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Bundle *BundleProfile `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` } func (x *BundleDetailResponse) Reset() { @@ -2675,8 +2675,8 @@ type BundleDetailResponseV2 struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Bundle *BundleProfile `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Bundle *BundleProfile `protobuf:"bytes,1,opt,name=bundle,proto3" json:"bundle"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` } func (x *BundleDetailResponseV2) Reset() { @@ -2730,45 +2730,45 @@ type OrderRecord struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - BundleUuid string `protobuf:"bytes,2,opt,name=bundleUuid,proto3" json:"bundleUuid,omitempty"` - CustomerID string `protobuf:"bytes,3,opt,name=customerID,proto3" json:"customerID,omitempty"` - CustomerNum string `protobuf:"bytes,4,opt,name=customerNum,proto3" json:"customerNum,omitempty"` - CustomerName string `protobuf:"bytes,5,opt,name=customerName,proto3" json:"customerName,omitempty"` - Amount float32 `protobuf:"fixed32,6,opt,name=amount,proto3" json:"amount,omitempty"` - AmountType int64 `protobuf:"varint,7,opt,name=amountType,proto3" json:"amountType,omitempty"` - SignContract string `protobuf:"bytes,8,opt,name=signContract,proto3" json:"signContract,omitempty"` - Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature,omitempty"` - SignedTime string `protobuf:"bytes,10,opt,name=signedTime,proto3" json:"signedTime,omitempty"` - PayType int64 `protobuf:"varint,11,opt,name=payType,proto3" json:"payType,omitempty"` - PayTime string `protobuf:"bytes,12,opt,name=payTime,proto3" json:"payTime,omitempty"` - CheckoutSessionId string `protobuf:"bytes,13,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId,omitempty"` - CheckoutSessionUrl string `protobuf:"bytes,14,opt,name=checkoutSessionUrl,proto3" json:"checkoutSessionUrl,omitempty"` - Status int64 `protobuf:"varint,15,opt,name=status,proto3" json:"status,omitempty"` - OrderNo string `protobuf:"bytes,16,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - BundleName string `protobuf:"bytes,17,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - ContractNo string `protobuf:"bytes,18,opt,name=contractNo,proto3" json:"contractNo,omitempty"` - ValueAddBundleUuid string `protobuf:"bytes,19,opt,name=valueAddBundleUuid,proto3" json:"valueAddBundleUuid,omitempty"` //增值套餐UUID - ValueAddBundleAmount float32 `protobuf:"fixed32,20,opt,name=valueAddBundleAmount,proto3" json:"valueAddBundleAmount,omitempty"` //增值套餐金额 - ValueAddOriginalPrice float32 `protobuf:"fixed32,21,opt,name=valueAddOriginalPrice,proto3" json:"valueAddOriginalPrice,omitempty"` //原单价 - ValueAddDiscountPrice float32 `protobuf:"fixed32,22,opt,name=valueAddDiscountPrice,proto3" json:"valueAddDiscountPrice,omitempty"` //优惠单价 - ValueAddSavedAmount float32 `protobuf:"fixed32,23,opt,name=valueAddSavedAmount,proto3" json:"valueAddSavedAmount,omitempty"` //节省金额 - Num int32 `protobuf:"varint,24,opt,name=num,proto3" json:"num,omitempty"` - TotalAmount float32 `protobuf:"fixed32,25,opt,name=totalAmount,proto3" json:"totalAmount,omitempty"` //总金额 - Sex string `protobuf:"bytes,26,opt,name=sex,proto3" json:"sex,omitempty"` - Nationality string `protobuf:"bytes,27,opt,name=nationality,proto3" json:"nationality,omitempty"` - CertificatePicture string `protobuf:"bytes,28,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` - PlaceOfResidence string `protobuf:"bytes,29,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` - GroupPhoto string `protobuf:"bytes,30,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` - BundleCommonUid string `protobuf:"bytes,31,opt,name=bundleCommonUid,proto3" json:"bundleCommonUid,omitempty"` - AddBundleCommonUid string `protobuf:"bytes,32,opt,name=addBundleCommonUid,proto3" json:"addBundleCommonUid,omitempty"` - FinancialConfirmation int32 `protobuf:"varint,33,opt,name=financialConfirmation,proto3" json:"financialConfirmation,omitempty"` - TelNum string `protobuf:"bytes,34,opt,name=telNum,proto3" json:"telNum,omitempty"` - Language string `protobuf:"bytes,35,opt,name=language,proto3" json:"language,omitempty"` - PriceOptionsInfo []*PriceOptionsInfo `protobuf:"bytes,36,rep,name=priceOptionsInfo,proto3" json:"priceOptionsInfo,omitempty"` - ExpirationTime string `protobuf:"bytes,37,opt,name=expirationTime,proto3" json:"expirationTime,omitempty"` - Snapshot string `protobuf:"bytes,38,opt,name=snapshot,proto3" json:"snapshot,omitempty"` - AddInfos []*AddInfo `protobuf:"bytes,39,rep,name=addInfos,proto3" json:"addInfos,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + BundleUuid string `protobuf:"bytes,2,opt,name=bundleUuid,proto3" json:"bundleUuid"` + CustomerID string `protobuf:"bytes,3,opt,name=customerID,proto3" json:"customerID"` + CustomerNum string `protobuf:"bytes,4,opt,name=customerNum,proto3" json:"customerNum"` + CustomerName string `protobuf:"bytes,5,opt,name=customerName,proto3" json:"customerName"` + Amount float32 `protobuf:"fixed32,6,opt,name=amount,proto3" json:"amount"` + AmountType int64 `protobuf:"varint,7,opt,name=amountType,proto3" json:"amountType"` + SignContract string `protobuf:"bytes,8,opt,name=signContract,proto3" json:"signContract"` + Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature"` + SignedTime string `protobuf:"bytes,10,opt,name=signedTime,proto3" json:"signedTime"` + PayType int64 `protobuf:"varint,11,opt,name=payType,proto3" json:"payType"` + PayTime string `protobuf:"bytes,12,opt,name=payTime,proto3" json:"payTime"` + CheckoutSessionId string `protobuf:"bytes,13,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` + CheckoutSessionUrl string `protobuf:"bytes,14,opt,name=checkoutSessionUrl,proto3" json:"checkoutSessionUrl"` + Status int64 `protobuf:"varint,15,opt,name=status,proto3" json:"status"` + OrderNo string `protobuf:"bytes,16,opt,name=orderNo,proto3" json:"orderNo"` + BundleName string `protobuf:"bytes,17,opt,name=bundleName,proto3" json:"bundleName"` + ContractNo string `protobuf:"bytes,18,opt,name=contractNo,proto3" json:"contractNo"` + ValueAddBundleUuid string `protobuf:"bytes,19,opt,name=valueAddBundleUuid,proto3" json:"valueAddBundleUuid"` //增值套餐UUID + ValueAddBundleAmount float32 `protobuf:"fixed32,20,opt,name=valueAddBundleAmount,proto3" json:"valueAddBundleAmount"` //增值套餐金额 + ValueAddOriginalPrice float32 `protobuf:"fixed32,21,opt,name=valueAddOriginalPrice,proto3" json:"valueAddOriginalPrice"` //原单价 + ValueAddDiscountPrice float32 `protobuf:"fixed32,22,opt,name=valueAddDiscountPrice,proto3" json:"valueAddDiscountPrice"` //优惠单价 + ValueAddSavedAmount float32 `protobuf:"fixed32,23,opt,name=valueAddSavedAmount,proto3" json:"valueAddSavedAmount"` //节省金额 + Num int32 `protobuf:"varint,24,opt,name=num,proto3" json:"num"` + TotalAmount float32 `protobuf:"fixed32,25,opt,name=totalAmount,proto3" json:"totalAmount"` //总金额 + Sex string `protobuf:"bytes,26,opt,name=sex,proto3" json:"sex"` + Nationality string `protobuf:"bytes,27,opt,name=nationality,proto3" json:"nationality"` + CertificatePicture string `protobuf:"bytes,28,opt,name=certificatePicture,proto3" json:"certificatePicture"` + PlaceOfResidence string `protobuf:"bytes,29,opt,name=placeOfResidence,proto3" json:"placeOfResidence"` + GroupPhoto string `protobuf:"bytes,30,opt,name=groupPhoto,proto3" json:"groupPhoto"` + BundleCommonUid string `protobuf:"bytes,31,opt,name=bundleCommonUid,proto3" json:"bundleCommonUid"` + AddBundleCommonUid string `protobuf:"bytes,32,opt,name=addBundleCommonUid,proto3" json:"addBundleCommonUid"` + FinancialConfirmation int32 `protobuf:"varint,33,opt,name=financialConfirmation,proto3" json:"financialConfirmation"` + TelNum string `protobuf:"bytes,34,opt,name=telNum,proto3" json:"telNum"` + Language string `protobuf:"bytes,35,opt,name=language,proto3" json:"language"` + PriceOptionsInfo []*PriceOptionsInfo `protobuf:"bytes,36,rep,name=priceOptionsInfo,proto3" json:"priceOptionsInfo"` + ExpirationTime string `protobuf:"bytes,37,opt,name=expirationTime,proto3" json:"expirationTime"` + Snapshot string `protobuf:"bytes,38,opt,name=snapshot,proto3" json:"snapshot"` + AddInfos []*AddInfo `protobuf:"bytes,39,rep,name=addInfos,proto3" json:"addInfos"` } func (x *OrderRecord) Reset() { @@ -3081,10 +3081,10 @@ type AddInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num,omitempty"` - ValueAddUUID string `protobuf:"bytes,3,opt,name=valueAddUUID,proto3" json:"valueAddUUID,omitempty"` - EquityType int32 `protobuf:"varint,4,opt,name=equityType,proto3" json:"equityType,omitempty"` + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` + Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num"` + ValueAddUUID string `protobuf:"bytes,3,opt,name=valueAddUUID,proto3" json:"valueAddUUID"` + EquityType int32 `protobuf:"varint,4,opt,name=equityType,proto3" json:"equityType"` } func (x *AddInfo) Reset() { @@ -3152,20 +3152,20 @@ type OrderAddRecord struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BundleUuid string `protobuf:"bytes,1,opt,name=bundleUuid,proto3" json:"bundleUuid,omitempty"` - AddPriceOptionsList []*AddPriceOptionsInfo `protobuf:"bytes,2,rep,name=addPriceOptionsList,proto3" json:"addPriceOptionsList,omitempty"` - Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"` - CustomerID string `protobuf:"bytes,4,opt,name=customerID,proto3" json:"customerID,omitempty"` - CustomerNum string `protobuf:"bytes,5,opt,name=customerNum,proto3" json:"customerNum,omitempty"` - CustomerName string `protobuf:"bytes,6,opt,name=customerName,proto3" json:"customerName,omitempty"` + BundleUuid string `protobuf:"bytes,1,opt,name=bundleUuid,proto3" json:"bundleUuid"` + AddPriceOptionsList []*AddPriceOptionsInfo `protobuf:"bytes,2,rep,name=addPriceOptionsList,proto3" json:"addPriceOptionsList"` + Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language"` + CustomerID string `protobuf:"bytes,4,opt,name=customerID,proto3" json:"customerID"` + CustomerNum string `protobuf:"bytes,5,opt,name=customerNum,proto3" json:"customerNum"` + CustomerName string `protobuf:"bytes,6,opt,name=customerName,proto3" json:"customerName"` // string valueAddUUID = 12 [json_name = "valueAddUUID"]; - Source int32 `protobuf:"varint,7,opt,name=source,proto3" json:"source,omitempty"` - SignContract string `protobuf:"bytes,8,opt,name=signContract,proto3" json:"signContract,omitempty"` - Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature,omitempty"` - SignedTime string `protobuf:"bytes,10,opt,name=signedTime,proto3" json:"signedTime,omitempty"` - ExpirationDate string `protobuf:"bytes,11,opt,name=expirationDate,proto3" json:"expirationDate,omitempty"` - Snapshot string `protobuf:"bytes,38,opt,name=snapshot,proto3" json:"snapshot,omitempty"` - OrderUUID string `protobuf:"bytes,39,opt,name=orderUUID,proto3" json:"orderUUID,omitempty"` + Source int32 `protobuf:"varint,7,opt,name=source,proto3" json:"source"` + SignContract string `protobuf:"bytes,8,opt,name=signContract,proto3" json:"signContract"` + Signature string `protobuf:"bytes,9,opt,name=signature,proto3" json:"signature"` + SignedTime string `protobuf:"bytes,10,opt,name=signedTime,proto3" json:"signedTime"` + ExpirationDate string `protobuf:"bytes,11,opt,name=expirationDate,proto3" json:"expirationDate"` + Snapshot string `protobuf:"bytes,38,opt,name=snapshot,proto3" json:"snapshot"` + OrderUUID string `protobuf:"bytes,39,opt,name=orderUUID,proto3" json:"orderUUID"` } func (x *OrderAddRecord) Reset() { @@ -3296,13 +3296,13 @@ type AddPriceOptionsInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - ValueUid string `protobuf:"bytes,2,opt,name=valueUid,proto3" json:"valueUid,omitempty"` - ServiceType int32 `protobuf:"varint,3,opt,name=serviceType,proto3" json:"serviceType,omitempty"` - CurrencyType int64 `protobuf:"varint,4,opt,name=currencyType,proto3" json:"currencyType,omitempty"` - Amount float32 `protobuf:"fixed32,5,opt,name=amount,proto3" json:"amount,omitempty"` - Num int32 `protobuf:"varint,6,opt,name=num,proto3" json:"num,omitempty"` - Unit string `protobuf:"bytes,7,opt,name=unit,proto3" json:"unit,omitempty"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + ValueUid string `protobuf:"bytes,2,opt,name=valueUid,proto3" json:"valueUid"` + ServiceType int32 `protobuf:"varint,3,opt,name=serviceType,proto3" json:"serviceType"` + CurrencyType int64 `protobuf:"varint,4,opt,name=currencyType,proto3" json:"currencyType"` + Amount float32 `protobuf:"fixed32,5,opt,name=amount,proto3" json:"amount"` + Num int32 `protobuf:"varint,6,opt,name=num,proto3" json:"num"` + Unit string `protobuf:"bytes,7,opt,name=unit,proto3" json:"unit"` } func (x *AddPriceOptionsInfo) Reset() { @@ -3391,9 +3391,9 @@ type PriceOptionsInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - ValueUid string `protobuf:"bytes,2,opt,name=valueUid,proto3" json:"valueUid,omitempty"` - Num int32 `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + ValueUid string `protobuf:"bytes,2,opt,name=valueUid,proto3" json:"valueUid"` + Num int32 `protobuf:"varint,3,opt,name=num,proto3" json:"num"` } func (x *PriceOptionsInfo) Reset() { @@ -3454,22 +3454,22 @@ type OrderRecordsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - CustomerNum string `protobuf:"bytes,3,opt,name=customerNum,proto3" json:"customerNum,omitempty"` - CustomerName string `protobuf:"bytes,4,opt,name=customerName,proto3" json:"customerName,omitempty"` - BundleUUID string `protobuf:"bytes,5,opt,name=bundleUUID,proto3" json:"bundleUUID,omitempty"` - OrderNo string `protobuf:"bytes,6,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` - BundleName string `protobuf:"bytes,8,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - StartSignedTime string `protobuf:"bytes,9,opt,name=startSignedTime,proto3" json:"startSignedTime,omitempty"` - EndSignedTime string `protobuf:"bytes,10,opt,name=endSignedTime,proto3" json:"endSignedTime,omitempty"` - StartPayTime string `protobuf:"bytes,11,opt,name=startPayTime,proto3" json:"startPayTime,omitempty"` - EndPayTime string `protobuf:"bytes,12,opt,name=endPayTime,proto3" json:"endPayTime,omitempty"` - CustomerID string `protobuf:"bytes,13,opt,name=customerID,proto3" json:"customerID,omitempty"` - IsHaveValueAdd int64 `protobuf:"varint,14,opt,name=isHaveValueAdd,proto3" json:"isHaveValueAdd,omitempty"` //有无增值选项 - FinancialConfirmation int32 `protobuf:"varint,15,opt,name=financialConfirmation,proto3" json:"financialConfirmation,omitempty"` - TelNum string `protobuf:"bytes,16,opt,name=telNum,proto3" json:"telNum,omitempty"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + CustomerNum string `protobuf:"bytes,3,opt,name=customerNum,proto3" json:"customerNum"` + CustomerName string `protobuf:"bytes,4,opt,name=customerName,proto3" json:"customerName"` + BundleUUID string `protobuf:"bytes,5,opt,name=bundleUUID,proto3" json:"bundleUUID"` + OrderNo string `protobuf:"bytes,6,opt,name=orderNo,proto3" json:"orderNo"` + Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` + BundleName string `protobuf:"bytes,8,opt,name=bundleName,proto3" json:"bundleName"` + StartSignedTime string `protobuf:"bytes,9,opt,name=startSignedTime,proto3" json:"startSignedTime"` + EndSignedTime string `protobuf:"bytes,10,opt,name=endSignedTime,proto3" json:"endSignedTime"` + StartPayTime string `protobuf:"bytes,11,opt,name=startPayTime,proto3" json:"startPayTime"` + EndPayTime string `protobuf:"bytes,12,opt,name=endPayTime,proto3" json:"endPayTime"` + CustomerID string `protobuf:"bytes,13,opt,name=customerID,proto3" json:"customerID"` + IsHaveValueAdd int64 `protobuf:"varint,14,opt,name=isHaveValueAdd,proto3" json:"isHaveValueAdd"` //有无增值选项 + FinancialConfirmation int32 `protobuf:"varint,15,opt,name=financialConfirmation,proto3" json:"financialConfirmation"` + TelNum string `protobuf:"bytes,16,opt,name=telNum,proto3" json:"telNum"` } func (x *OrderRecordsRequest) Reset() { @@ -3621,8 +3621,8 @@ type OrderRecordsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderRecords []*OrderRecord `protobuf:"bytes,1,rep,name=orderRecords,proto3" json:"orderRecords,omitempty"` - Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + OrderRecords []*OrderRecord `protobuf:"bytes,1,rep,name=orderRecords,proto3" json:"orderRecords"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` } func (x *OrderRecordsResponse) Reset() { @@ -3676,11 +3676,11 @@ type OrderRecordsDetailRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - OrderNo string `protobuf:"bytes,2,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - CustomerID string `protobuf:"bytes,3,opt,name=customerID,proto3" json:"customerID,omitempty"` - BundleUUID string `protobuf:"bytes,4,opt,name=bundleUUID,proto3" json:"bundleUUID,omitempty"` - Status uint64 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + OrderNo string `protobuf:"bytes,2,opt,name=orderNo,proto3" json:"orderNo"` + CustomerID string `protobuf:"bytes,3,opt,name=customerID,proto3" json:"customerID"` + BundleUUID string `protobuf:"bytes,4,opt,name=bundleUUID,proto3" json:"bundleUUID"` + Status uint64 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` } func (x *OrderRecordsDetailRequest) Reset() { @@ -3755,8 +3755,8 @@ type OrderRecordsDetailResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderRecord *OrderRecord `protobuf:"bytes,1,opt,name=orderRecord,proto3" json:"orderRecord,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + OrderRecord *OrderRecord `protobuf:"bytes,1,opt,name=orderRecord,proto3" json:"orderRecord"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` } func (x *OrderRecordsDetailResponse) Reset() { @@ -3811,16 +3811,16 @@ type ValueAddBundleProfile struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num,omitempty"` - OriginalPrice float32 `protobuf:"fixed32,3,opt,name=originalPrice,proto3" json:"originalPrice,omitempty"` - DiscountPrice float32 `protobuf:"fixed32,4,opt,name=discountPrice,proto3" json:"discountPrice,omitempty"` - TotalPrice float32 `protobuf:"fixed32,6,opt,name=totalPrice,proto3" json:"totalPrice,omitempty"` - SavedAmount float32 `protobuf:"fixed32,7,opt,name=savedAmount,proto3" json:"savedAmount,omitempty"` - DiscountPriceStatus bool `protobuf:"varint,8,opt,name=discountPriceStatus,proto3" json:"discountPriceStatus,omitempty"` - Choose bool `protobuf:"varint,9,opt,name=choose,proto3" json:"choose,omitempty"` - Status bool `protobuf:"varint,10,opt,name=status,proto3" json:"status,omitempty"` - AddBundleCommonUid string `protobuf:"bytes,11,opt,name=addBundleCommonUid,proto3" json:"addBundleCommonUid,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num"` + OriginalPrice float32 `protobuf:"fixed32,3,opt,name=originalPrice,proto3" json:"originalPrice"` + DiscountPrice float32 `protobuf:"fixed32,4,opt,name=discountPrice,proto3" json:"discountPrice"` + TotalPrice float32 `protobuf:"fixed32,6,opt,name=totalPrice,proto3" json:"totalPrice"` + SavedAmount float32 `protobuf:"fixed32,7,opt,name=savedAmount,proto3" json:"savedAmount"` + DiscountPriceStatus bool `protobuf:"varint,8,opt,name=discountPriceStatus,proto3" json:"discountPriceStatus"` + Choose bool `protobuf:"varint,9,opt,name=choose,proto3" json:"choose"` + Status bool `protobuf:"varint,10,opt,name=status,proto3" json:"status"` + AddBundleCommonUid string `protobuf:"bytes,11,opt,name=addBundleCommonUid,proto3" json:"addBundleCommonUid"` } func (x *ValueAddBundleProfile) Reset() { @@ -3930,7 +3930,7 @@ type CreateValueAddBundleRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Num int32 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` + Num int32 `protobuf:"varint,1,opt,name=num,proto3" json:"num"` } func (x *CreateValueAddBundleRequest) Reset() { @@ -3977,10 +3977,10 @@ type CreateValueAddBundleResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - TotalPrice float32 `protobuf:"fixed32,2,opt,name=totalPrice,proto3" json:"totalPrice,omitempty"` - SavedAmount float32 `protobuf:"fixed32,3,opt,name=savedAmount,proto3" json:"savedAmount,omitempty"` - Msg string `protobuf:"bytes,4,opt,name=msg,proto3" json:"msg,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + TotalPrice float32 `protobuf:"fixed32,2,opt,name=totalPrice,proto3" json:"totalPrice"` + SavedAmount float32 `protobuf:"fixed32,3,opt,name=savedAmount,proto3" json:"savedAmount"` + Msg string `protobuf:"bytes,4,opt,name=msg,proto3" json:"msg"` } func (x *CreateValueAddBundleResponse) Reset() { @@ -4049,9 +4049,9 @@ type ValueAddBundleListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` - BundleUuid string `protobuf:"bytes,2,opt,name=bundleUuid,proto3" json:"bundleUuid,omitempty"` - PriceType int32 `protobuf:"varint,3,opt,name=priceType,proto3" json:"priceType,omitempty"` + UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` + BundleUuid string `protobuf:"bytes,2,opt,name=bundleUuid,proto3" json:"bundleUuid"` + PriceType int32 `protobuf:"varint,3,opt,name=priceType,proto3" json:"priceType"` } func (x *ValueAddBundleListRequest) Reset() { @@ -4112,14 +4112,14 @@ type ValueAddBundleListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OriginalPrice float32 `protobuf:"fixed32,1,opt,name=originalPrice,proto3" json:"originalPrice,omitempty"` - Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` - Data []*ValueAddBundleProfile `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` - Status bool `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` - Num int32 `protobuf:"varint,5,opt,name=num,proto3" json:"num,omitempty"` - Price float32 `protobuf:"fixed32,6,opt,name=price,proto3" json:"price,omitempty"` - OrderNo bool `protobuf:"varint,7,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - Msg string `protobuf:"bytes,8,opt,name=msg,proto3" json:"msg,omitempty"` + OriginalPrice float32 `protobuf:"fixed32,1,opt,name=originalPrice,proto3" json:"originalPrice"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` + Data []*ValueAddBundleProfile `protobuf:"bytes,3,rep,name=data,proto3" json:"data"` + Status bool `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Num int32 `protobuf:"varint,5,opt,name=num,proto3" json:"num"` + Price float32 `protobuf:"fixed32,6,opt,name=price,proto3" json:"price"` + OrderNo bool `protobuf:"varint,7,opt,name=orderNo,proto3" json:"orderNo"` + Msg string `protobuf:"bytes,8,opt,name=msg,proto3" json:"msg"` } func (x *ValueAddBundleListResponse) Reset() { @@ -4215,7 +4215,7 @@ type ValueAddBundleDetailRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` } func (x *ValueAddBundleDetailRequest) Reset() { @@ -4262,9 +4262,9 @@ type ValueAddBundleDetailResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data *ValueAddBundleProfile `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - PayTime string `protobuf:"bytes,2,opt,name=payTime,proto3" json:"payTime,omitempty"` - Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` + Data *ValueAddBundleProfile `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` + PayTime string `protobuf:"bytes,2,opt,name=payTime,proto3" json:"payTime"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg"` } func (x *ValueAddBundleDetailResponse) Reset() { @@ -4325,7 +4325,7 @@ type FinancialConfirmationRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo,omitempty"` + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` } func (x *FinancialConfirmationRequest) Reset() { @@ -4374,14 +4374,14 @@ type ValueAddService struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName,omitempty"` //服务名称 - ServiceType int32 `protobuf:"varint,3,opt,name=serviceType,proto3" json:"serviceType,omitempty"` //服务类型 - ServiceLang []*ValueAddServiceLang `protobuf:"bytes,4,rep,name=serviceLang,proto3" json:"serviceLang,omitempty"` //不太语言的服务详细 - QuotaType int32 `protobuf:"varint,5,opt,name=quotaType,proto3" json:"quotaType,omitempty"` //额度类型 1;不限额度 2:每月限额度 - QuotaValue int32 `protobuf:"varint,6,opt,name=quotaValue,proto3" json:"quotaValue,omitempty"` //额度值 - IsExpired bool `protobuf:"varint,7,opt,name=isExpired,proto3" json:"isExpired,omitempty"` //是否过期作废 - DefaultServiceValue int32 `protobuf:"varint,8,opt,name=defaultServiceValue,proto3" json:"defaultServiceValue,omitempty"` //默认服务值 + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName"` //服务名称 + ServiceType int32 `protobuf:"varint,3,opt,name=serviceType,proto3" json:"serviceType"` //服务类型 + ServiceLang []*ValueAddServiceLang `protobuf:"bytes,4,rep,name=serviceLang,proto3" json:"serviceLang"` //不太语言的服务详细 + QuotaType int32 `protobuf:"varint,5,opt,name=quotaType,proto3" json:"quotaType"` //额度类型 1;不限额度 2:每月限额度 + QuotaValue int32 `protobuf:"varint,6,opt,name=quotaValue,proto3" json:"quotaValue"` //额度值 + IsExpired bool `protobuf:"varint,7,opt,name=isExpired,proto3" json:"isExpired"` //是否过期作废 + DefaultServiceValue int32 `protobuf:"varint,8,opt,name=defaultServiceValue,proto3" json:"defaultServiceValue"` //默认服务值 } func (x *ValueAddService) Reset() { @@ -4477,20 +4477,20 @@ type ValueAddServiceLang struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName,omitempty"` //服务名称 - ServiceType int32 `protobuf:"varint,3,opt,name=serviceType,proto3" json:"serviceType,omitempty"` //服务类型 1:数据分析 2:图文 3:数据报表 4:账号数 5:可用时长 - PriceMode int32 `protobuf:"varint,4,opt,name=priceMode,proto3" json:"priceMode,omitempty"` //套餐价格类型 1:单价 2:总价 - OriginalPrice string `protobuf:"bytes,5,opt,name=originalPrice,proto3" json:"originalPrice,omitempty"` //原单价 - Unit string `protobuf:"bytes,6,opt,name=unit,proto3" json:"unit,omitempty"` //单位 1:个 2:条 3:天 4:月 5:年 6:自然月 7:自然季度 8:半年 9:自然年 - PriceType int64 `protobuf:"varint,7,opt,name=priceType,proto3" json:"priceType,omitempty"` //币种 1:人民币 2:美元 3:日元 4:欧元 - Language string `protobuf:"bytes,8,opt,name=language,proto3" json:"language,omitempty"` //套餐语言 zh-CN zh-TW EN de-DE ja-JP(中繁英德日) - CreatedAt string `protobuf:"bytes,9,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - UpdatedAt string `protobuf:"bytes,10,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` - Options []*ValueAddPriceOptions `protobuf:"bytes,11,rep,name=options,proto3" json:"options,omitempty"` - QuotaType int32 `protobuf:"varint,12,opt,name=quotaType,proto3" json:"quotaType,omitempty"` //额度类型 1;不限额度 2:每月限额度 - QuotaValue int32 `protobuf:"varint,13,opt,name=quotaValue,proto3" json:"quotaValue,omitempty"` //额度值 - IsExpired bool `protobuf:"varint,14,opt,name=isExpired,proto3" json:"isExpired,omitempty"` //是否过期作废 false:不作废 true:作废 + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + ServiceName string `protobuf:"bytes,2,opt,name=serviceName,proto3" json:"serviceName"` //服务名称 + ServiceType int32 `protobuf:"varint,3,opt,name=serviceType,proto3" json:"serviceType"` //服务类型 1:数据分析 2:图文 3:数据报表 4:账号数 5:可用时长 + PriceMode int32 `protobuf:"varint,4,opt,name=priceMode,proto3" json:"priceMode"` //套餐价格类型 1:单价 2:总价 + OriginalPrice string `protobuf:"bytes,5,opt,name=originalPrice,proto3" json:"originalPrice"` //原单价 + Unit string `protobuf:"bytes,6,opt,name=unit,proto3" json:"unit"` //单位 1:个 2:条 3:天 4:月 5:年 6:自然月 7:自然季度 8:半年 9:自然年 + PriceType int64 `protobuf:"varint,7,opt,name=priceType,proto3" json:"priceType"` //币种 1:人民币 2:美元 3:日元 4:欧元 + Language string `protobuf:"bytes,8,opt,name=language,proto3" json:"language"` //套餐语言 zh-CN zh-TW EN de-DE ja-JP(中繁英德日) + CreatedAt string `protobuf:"bytes,9,opt,name=createdAt,proto3" json:"createdAt"` + UpdatedAt string `protobuf:"bytes,10,opt,name=updatedAt,proto3" json:"updatedAt"` + Options []*ValueAddPriceOptions `protobuf:"bytes,11,rep,name=options,proto3" json:"options"` + QuotaType int32 `protobuf:"varint,12,opt,name=quotaType,proto3" json:"quotaType"` //额度类型 1;不限额度 2:每月限额度 + QuotaValue int32 `protobuf:"varint,13,opt,name=quotaValue,proto3" json:"quotaValue"` //额度值 + IsExpired bool `protobuf:"varint,14,opt,name=isExpired,proto3" json:"isExpired"` //是否过期作废 false:不作废 true:作废 } func (x *ValueAddServiceLang) Reset() { @@ -4629,13 +4629,13 @@ type ValueAddPriceOptions struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num,omitempty"` - Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price string `protobuf:"bytes,4,opt,name=price,proto3" json:"price,omitempty"` - SaveAmount string `protobuf:"bytes,5,opt,name=saveAmount,proto3" json:"saveAmount,omitempty"` - IsDefault bool `protobuf:"varint,6,opt,name=isDefault,proto3" json:"isDefault,omitempty"` // 是否为默认 - TotalPrice string `protobuf:"bytes,7,opt,name=totalPrice,proto3" json:"totalPrice,omitempty"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num"` + Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol"` + Price string `protobuf:"bytes,4,opt,name=price,proto3" json:"price"` + SaveAmount string `protobuf:"bytes,5,opt,name=saveAmount,proto3" json:"saveAmount"` + IsDefault bool `protobuf:"varint,6,opt,name=isDefault,proto3" json:"isDefault"` // 是否为默认 + TotalPrice string `protobuf:"bytes,7,opt,name=totalPrice,proto3" json:"totalPrice"` } func (x *ValueAddPriceOptions) Reset() { @@ -4725,11 +4725,11 @@ type ValueAddServiceListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // 服务名称 - ServiceType int32 `protobuf:"varint,4,opt,name=serviceType,proto3" json:"serviceType,omitempty"` // 服务类型 - Language string `protobuf:"bytes,5,opt,name=language,proto3" json:"language,omitempty"` // 语言(历史遗留,暂未使用) + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` // 服务名称 + ServiceType int32 `protobuf:"varint,4,opt,name=serviceType,proto3" json:"serviceType"` // 服务类型 + Language string `protobuf:"bytes,5,opt,name=language,proto3" json:"language"` // 语言(历史遗留,暂未使用) } func (x *ValueAddServiceListRequest) Reset() { @@ -4804,9 +4804,9 @@ type ValueAddServiceListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` - ValueAddServiceList []*ValueAddService `protobuf:"bytes,3,rep,name=valueAddServiceList,proto3" json:"valueAddServiceList,omitempty"` + Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` + ValueAddServiceList []*ValueAddService `protobuf:"bytes,3,rep,name=valueAddServiceList,proto3" json:"valueAddServiceList"` } func (x *ValueAddServiceListResponse) Reset() { @@ -4868,8 +4868,8 @@ type ValueAddServiceDetailRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language,omitempty"` //语言 默认zh-CN, zh-CN zh-TW EN de-DE js-JP + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language"` //语言 默认zh-CN, zh-CN zh-TW EN de-DE js-JP } func (x *ValueAddServiceDetailRequest) Reset() { @@ -4923,8 +4923,8 @@ type ValueAddServiceDetailResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - ValueAddService *ValueAddService `protobuf:"bytes,2,opt,name=valueAddService,proto3" json:"valueAddService,omitempty"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + ValueAddService *ValueAddService `protobuf:"bytes,2,opt,name=valueAddService,proto3" json:"valueAddService"` } func (x *ValueAddServiceDetailResponse) Reset() { @@ -4978,9 +4978,9 @@ type CalculatePriceRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num,omitempty"` - Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Num int32 `protobuf:"varint,2,opt,name=num,proto3" json:"num"` + Language string `protobuf:"bytes,3,opt,name=language,proto3" json:"language"` } func (x *CalculatePriceRequest) Reset() { @@ -5041,8 +5041,8 @@ type CalculatePriceResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - Price float32 `protobuf:"fixed32,2,opt,name=price,proto3" json:"price,omitempty"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Price float32 `protobuf:"fixed32,2,opt,name=price,proto3" json:"price"` } func (x *CalculatePriceResponse) Reset() { @@ -5096,8 +5096,8 @@ type BatchGetValueAddServiceLangRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuids []string `protobuf:"bytes,1,rep,name=uuids,proto3" json:"uuids,omitempty"` - Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language,omitempty"` + Uuids []string `protobuf:"bytes,1,rep,name=uuids,proto3" json:"uuids"` + Language string `protobuf:"bytes,2,opt,name=language,proto3" json:"language"` } func (x *BatchGetValueAddServiceLangRequest) Reset() { @@ -5151,8 +5151,8 @@ type BatchGetValueAddServiceLangResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - ValueAddServiceLangList []*ValueAddServiceLang `protobuf:"bytes,2,rep,name=valueAddServiceLangList,proto3" json:"valueAddServiceLangList,omitempty"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + ValueAddServiceLangList []*ValueAddServiceLang `protobuf:"bytes,2,rep,name=valueAddServiceLangList,proto3" json:"valueAddServiceLangList"` } func (x *BatchGetValueAddServiceLangResponse) Reset() { @@ -5206,19 +5206,19 @@ type BundleExtendRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` - AccountAdditional uint32 `protobuf:"varint,2,opt,name=accountAdditional,proto3" json:"accountAdditional,omitempty"` - VideoAdditional uint32 `protobuf:"varint,3,opt,name=videoAdditional,proto3" json:"videoAdditional,omitempty"` - ImagesAdditional uint32 `protobuf:"varint,4,opt,name=imagesAdditional,proto3" json:"imagesAdditional,omitempty"` - DataAdditional uint32 `protobuf:"varint,5,opt,name=dataAdditional,proto3" json:"dataAdditional,omitempty"` - AvailableDurationAdditional uint32 `protobuf:"varint,6,opt,name=availableDurationAdditional,proto3" json:"availableDurationAdditional,omitempty"` - TimeUnit uint32 `protobuf:"varint,7,opt,name=timeUnit,proto3" json:"timeUnit,omitempty"` // 1 日 2 月 3年 - Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark,omitempty"` - AssociatedorderNumber string `protobuf:"bytes,9,opt,name=associatedorderNumber,proto3" json:"associatedorderNumber,omitempty"` - OperatorId uint64 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId,omitempty"` - OperatorName string `protobuf:"bytes,11,opt,name=operatorName,proto3" json:"operatorName,omitempty"` - OperatorPhoneNumber string `protobuf:"bytes,12,opt,name=operatorPhoneNumber,proto3" json:"operatorPhoneNumber,omitempty"` - Type int32 `protobuf:"varint,13,opt,name=type,proto3" json:"type,omitempty"` + UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` + AccountAdditional uint32 `protobuf:"varint,2,opt,name=accountAdditional,proto3" json:"accountAdditional"` + VideoAdditional uint32 `protobuf:"varint,3,opt,name=videoAdditional,proto3" json:"videoAdditional"` + ImagesAdditional uint32 `protobuf:"varint,4,opt,name=imagesAdditional,proto3" json:"imagesAdditional"` + DataAdditional uint32 `protobuf:"varint,5,opt,name=dataAdditional,proto3" json:"dataAdditional"` + AvailableDurationAdditional uint32 `protobuf:"varint,6,opt,name=availableDurationAdditional,proto3" json:"availableDurationAdditional"` + TimeUnit uint32 `protobuf:"varint,7,opt,name=timeUnit,proto3" json:"timeUnit"` // 1 日 2 月 3年 + Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` + AssociatedorderNumber string `protobuf:"bytes,9,opt,name=associatedorderNumber,proto3" json:"associatedorderNumber"` + OperatorId uint64 `protobuf:"varint,10,opt,name=operatorId,proto3" json:"operatorId"` + OperatorName string `protobuf:"bytes,11,opt,name=operatorName,proto3" json:"operatorName"` + OperatorPhoneNumber string `protobuf:"bytes,12,opt,name=operatorPhoneNumber,proto3" json:"operatorPhoneNumber"` + Type int32 `protobuf:"varint,13,opt,name=type,proto3" json:"type"` } func (x *BundleExtendRequest) Reset() { @@ -5387,14 +5387,14 @@ type BundleExtendRecordsListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` - Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator,omitempty"` - StartTime uint64 `protobuf:"varint,5,opt,name=startTime,proto3" json:"startTime,omitempty"` - EndTime uint64 `protobuf:"varint,6,opt,name=endTime,proto3" json:"endTime,omitempty"` - Type uint32 `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"` - AssociatedOrderNumber string `protobuf:"bytes,8,opt,name=associatedOrderNumber,proto3" json:"associatedOrderNumber,omitempty"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user"` + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator"` + StartTime uint64 `protobuf:"varint,5,opt,name=startTime,proto3" json:"startTime"` + EndTime uint64 `protobuf:"varint,6,opt,name=endTime,proto3" json:"endTime"` + Type uint32 `protobuf:"varint,7,opt,name=type,proto3" json:"type"` + AssociatedOrderNumber string `protobuf:"bytes,8,opt,name=associatedOrderNumber,proto3" json:"associatedOrderNumber"` } func (x *BundleExtendRecordsListRequest) Reset() { @@ -5490,8 +5490,8 @@ type BundleExtendRecordsListResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Data []*BundleExtendRecordItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Data []*BundleExtendRecordItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` } func (x *BundleExtendRecordsListResponse) Reset() { @@ -5545,20 +5545,20 @@ type BundleExtendRecordItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` - UserPhoneNumber string `protobuf:"bytes,2,opt,name=userPhoneNumber,proto3" json:"userPhoneNumber,omitempty"` - AccountAdditional uint32 `protobuf:"varint,3,opt,name=accountAdditional,proto3" json:"accountAdditional,omitempty"` - VideoAdditional uint32 `protobuf:"varint,4,opt,name=videoAdditional,proto3" json:"videoAdditional,omitempty"` - ImagesAdditional uint32 `protobuf:"varint,5,opt,name=imagesAdditional,proto3" json:"imagesAdditional,omitempty"` - DataAdditional uint32 `protobuf:"varint,6,opt,name=dataAdditional,proto3" json:"dataAdditional,omitempty"` - AvailableDurationAdditional uint32 `protobuf:"varint,7,opt,name=availableDurationAdditional,proto3" json:"availableDurationAdditional,omitempty"` - Type int32 `protobuf:"varint,8,opt,name=type,proto3" json:"type,omitempty"` - CreatedAt uint64 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - Remark string `protobuf:"bytes,10,opt,name=remark,proto3" json:"remark,omitempty"` - AssociatedOrderNumber string `protobuf:"bytes,11,opt,name=associatedOrderNumber,proto3" json:"associatedOrderNumber,omitempty"` - TimeUnit uint32 `protobuf:"varint,12,opt,name=timeUnit,proto3" json:"timeUnit,omitempty"` - OperatorName string `protobuf:"bytes,13,opt,name=operatorName,proto3" json:"operatorName,omitempty"` - OperatorPhoneNumber string `protobuf:"bytes,14,opt,name=operatorPhoneNumber,proto3" json:"operatorPhoneNumber,omitempty"` + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName"` + UserPhoneNumber string `protobuf:"bytes,2,opt,name=userPhoneNumber,proto3" json:"userPhoneNumber"` + AccountAdditional uint32 `protobuf:"varint,3,opt,name=accountAdditional,proto3" json:"accountAdditional"` + VideoAdditional uint32 `protobuf:"varint,4,opt,name=videoAdditional,proto3" json:"videoAdditional"` + ImagesAdditional uint32 `protobuf:"varint,5,opt,name=imagesAdditional,proto3" json:"imagesAdditional"` + DataAdditional uint32 `protobuf:"varint,6,opt,name=dataAdditional,proto3" json:"dataAdditional"` + AvailableDurationAdditional uint32 `protobuf:"varint,7,opt,name=availableDurationAdditional,proto3" json:"availableDurationAdditional"` + Type int32 `protobuf:"varint,8,opt,name=type,proto3" json:"type"` + CreatedAt uint64 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt"` + Remark string `protobuf:"bytes,10,opt,name=remark,proto3" json:"remark"` + AssociatedOrderNumber string `protobuf:"bytes,11,opt,name=associatedOrderNumber,proto3" json:"associatedOrderNumber"` + TimeUnit uint32 `protobuf:"varint,12,opt,name=timeUnit,proto3" json:"timeUnit"` + OperatorName string `protobuf:"bytes,13,opt,name=operatorName,proto3" json:"operatorName"` + OperatorPhoneNumber string `protobuf:"bytes,14,opt,name=operatorPhoneNumber,proto3" json:"operatorPhoneNumber"` } func (x *BundleExtendRecordItem) Reset() { @@ -5696,15 +5696,15 @@ type GetBundleBalanceListReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` - BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - Bought int32 `protobuf:"varint,4,opt,name=bought,proto3" json:"bought,omitempty"` - ExpiredTimeStart int64 `protobuf:"varint,5,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart,omitempty"` - ExpiredTimeEnd int64 `protobuf:"varint,6,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd,omitempty"` - Page int32 `protobuf:"varint,7,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - Month string `protobuf:"bytes,9,opt,name=month,proto3" json:"month,omitempty"` + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName"` + Bought int32 `protobuf:"varint,4,opt,name=bought,proto3" json:"bought"` + ExpiredTimeStart int64 `protobuf:"varint,5,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart"` + ExpiredTimeEnd int64 `protobuf:"varint,6,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd"` + Page int32 `protobuf:"varint,7,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize"` + Month string `protobuf:"bytes,9,opt,name=month,proto3" json:"month"` } func (x *GetBundleBalanceListReq) Reset() { @@ -5807,13 +5807,13 @@ type GetBundleBalanceReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` - Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` - BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - ExpiredTimeStart int64 `protobuf:"varint,4,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart,omitempty"` - ExpiredTimeEnd int64 `protobuf:"varint,5,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd,omitempty"` - Page int32 `protobuf:"varint,6,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,7,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName"` + ExpiredTimeStart int64 `protobuf:"varint,4,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart"` + ExpiredTimeEnd int64 `protobuf:"varint,5,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd"` + Page int32 `protobuf:"varint,6,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,7,opt,name=pageSize,proto3" json:"pageSize"` } func (x *GetBundleBalanceReq) Reset() { @@ -5903,86 +5903,86 @@ type BundleBalanceItem struct { unknownFields protoimpl.UnknownFields // 基本信息 - UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` - Activate int32 `protobuf:"varint,2,opt,name=activate,proto3" json:"activate,omitempty"` // 是否激活 - UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName,omitempty"` // 艺人 - UserPhoneNumber string `protobuf:"bytes,4,opt,name=userPhoneNumber,proto3" json:"userPhoneNumber,omitempty"` // 艺人手机号 - CustomerNum string `protobuf:"bytes,5,opt,name=customerNum,proto3" json:"customerNum,omitempty"` // 用户编号 - Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"` // 套餐状态 - BundleName string `protobuf:"bytes,7,opt,name=bundleName,proto3" json:"bundleName,omitempty"` // 最后购买的套餐 - PayTime string `protobuf:"bytes,8,opt,name=payTime,proto3" json:"payTime,omitempty"` // 下单时间 - StartTime int64 `protobuf:"varint,9,opt,name=startTime,proto3" json:"startTime,omitempty"` // 开始有效时间 - ExpiredTime int64 `protobuf:"varint,10,opt,name=expiredTime,proto3" json:"expiredTime,omitempty"` // 过期时间 - Month string `protobuf:"bytes,11,opt,name=month,proto3" json:"month,omitempty"` // 所属月份 - Bought int32 `protobuf:"varint,12,opt,name=bought,proto3" json:"bought,omitempty"` // 购买状态 + UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` + Activate int32 `protobuf:"varint,2,opt,name=activate,proto3" json:"activate"` // 是否激活 + UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName"` // 艺人 + UserPhoneNumber string `protobuf:"bytes,4,opt,name=userPhoneNumber,proto3" json:"userPhoneNumber"` // 艺人手机号 + CustomerNum string `protobuf:"bytes,5,opt,name=customerNum,proto3" json:"customerNum"` // 用户编号 + Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"` // 套餐状态 + BundleName string `protobuf:"bytes,7,opt,name=bundleName,proto3" json:"bundleName"` // 最后购买的套餐 + PayTime string `protobuf:"bytes,8,opt,name=payTime,proto3" json:"payTime"` // 下单时间 + StartTime int64 `protobuf:"varint,9,opt,name=startTime,proto3" json:"startTime"` // 开始有效时间 + ExpiredTime int64 `protobuf:"varint,10,opt,name=expiredTime,proto3" json:"expiredTime"` // 过期时间 + Month string `protobuf:"bytes,11,opt,name=month,proto3" json:"month"` // 所属月份 + Bought int32 `protobuf:"varint,12,opt,name=bought,proto3" json:"bought"` // 购买状态 // 套餐账号数 - BundleAccountNumber int32 `protobuf:"varint,13,opt,name=bundleAccountNumber,proto3" json:"bundleAccountNumber,omitempty"` // 当前可用套餐账号数 - IncreaseAccountNumber int32 `protobuf:"varint,14,opt,name=increaseAccountNumber,proto3" json:"increaseAccountNumber,omitempty"` // 当前可用增值账号数 - BundleAccountConsumptionNumber int32 `protobuf:"varint,15,opt,name=bundleAccountConsumptionNumber,proto3" json:"bundleAccountConsumptionNumber,omitempty"` // 当前已用套餐账号数 - IncreaseAccountConsumptionNumber int32 `protobuf:"varint,16,opt,name=increaseAccountConsumptionNumber,proto3" json:"increaseAccountConsumptionNumber,omitempty"` // 当前已用增值账号数 + BundleAccountNumber int32 `protobuf:"varint,13,opt,name=bundleAccountNumber,proto3" json:"bundleAccountNumber"` // 当前可用套餐账号数 + IncreaseAccountNumber int32 `protobuf:"varint,14,opt,name=increaseAccountNumber,proto3" json:"increaseAccountNumber"` // 当前可用增值账号数 + BundleAccountConsumptionNumber int32 `protobuf:"varint,15,opt,name=bundleAccountConsumptionNumber,proto3" json:"bundleAccountConsumptionNumber"` // 当前已用套餐账号数 + IncreaseAccountConsumptionNumber int32 `protobuf:"varint,16,opt,name=increaseAccountConsumptionNumber,proto3" json:"increaseAccountConsumptionNumber"` // 当前已用增值账号数 // 视频类统计 - BundleVideoNumber int32 `protobuf:"varint,17,opt,name=bundleVideoNumber,proto3" json:"bundleVideoNumber,omitempty"` // 当前可用套餐视频数 - IncreaseVideoNumber int32 `protobuf:"varint,18,opt,name=increaseVideoNumber,proto3" json:"increaseVideoNumber,omitempty"` // 当前可用增值视频数 - BundleVideoConsumptionNumber int32 `protobuf:"varint,19,opt,name=bundleVideoConsumptionNumber,proto3" json:"bundleVideoConsumptionNumber,omitempty"` // 当前已用套餐视频数 - IncreaseVideoConsumptionNumber int32 `protobuf:"varint,20,opt,name=increaseVideoConsumptionNumber,proto3" json:"increaseVideoConsumptionNumber,omitempty"` // 当前已用增值视频数 - InvalidBundleVideoNumber int32 `protobuf:"varint,21,opt,name=invalidBundleVideoNumber,proto3" json:"invalidBundleVideoNumber,omitempty"` // 当前作废套餐视频数 - InvalidIncreaseVideoNumber int32 `protobuf:"varint,22,opt,name=invalidIncreaseVideoNumber,proto3" json:"invalidIncreaseVideoNumber,omitempty"` // 当前作废增值视频数 - MonthlyNewBundleVideoNumber int32 `protobuf:"varint,23,opt,name=monthlyNewBundleVideoNumber,proto3" json:"monthlyNewBundleVideoNumber,omitempty"` // 当月新增套餐视频数 - MonthlyNewIncreaseVideoNumber int32 `protobuf:"varint,24,opt,name=monthlyNewIncreaseVideoNumber,proto3" json:"monthlyNewIncreaseVideoNumber,omitempty"` // 当月新增增值视频数 - MonthlyBundleVideoNumber int32 `protobuf:"varint,25,opt,name=monthlyBundleVideoNumber,proto3" json:"monthlyBundleVideoNumber,omitempty"` // 当月可用套餐视频数 - MonthlyIncreaseVideoNumber int32 `protobuf:"varint,26,opt,name=monthlyIncreaseVideoNumber,proto3" json:"monthlyIncreaseVideoNumber,omitempty"` // 当月可用增值视频数 - MonthBundleVideoConsumptionNumber int32 `protobuf:"varint,27,opt,name=monthBundleVideoConsumptionNumber,proto3" json:"monthBundleVideoConsumptionNumber,omitempty"` // 当月使用套餐视频数 - MonthIncreaseVideoConsumptionNumber int32 `protobuf:"varint,28,opt,name=monthIncreaseVideoConsumptionNumber,proto3" json:"monthIncreaseVideoConsumptionNumber,omitempty"` // 当月使用增值视频数 - MonthlyInvalidBundleVideoNumber int32 `protobuf:"varint,29,opt,name=monthlyInvalidBundleVideoNumber,proto3" json:"monthlyInvalidBundleVideoNumber,omitempty"` // 当月作废套餐视频数 - MonthlyInvalidIncreaseVideoNumber int32 `protobuf:"varint,30,opt,name=monthlyInvalidIncreaseVideoNumber,proto3" json:"monthlyInvalidIncreaseVideoNumber,omitempty"` // 当月作废增值视频数 + BundleVideoNumber int32 `protobuf:"varint,17,opt,name=bundleVideoNumber,proto3" json:"bundleVideoNumber"` // 当前可用套餐视频数 + IncreaseVideoNumber int32 `protobuf:"varint,18,opt,name=increaseVideoNumber,proto3" json:"increaseVideoNumber"` // 当前可用增值视频数 + BundleVideoConsumptionNumber int32 `protobuf:"varint,19,opt,name=bundleVideoConsumptionNumber,proto3" json:"bundleVideoConsumptionNumber"` // 当前已用套餐视频数 + IncreaseVideoConsumptionNumber int32 `protobuf:"varint,20,opt,name=increaseVideoConsumptionNumber,proto3" json:"increaseVideoConsumptionNumber"` // 当前已用增值视频数 + InvalidBundleVideoNumber int32 `protobuf:"varint,21,opt,name=invalidBundleVideoNumber,proto3" json:"invalidBundleVideoNumber"` // 当前作废套餐视频数 + InvalidIncreaseVideoNumber int32 `protobuf:"varint,22,opt,name=invalidIncreaseVideoNumber,proto3" json:"invalidIncreaseVideoNumber"` // 当前作废增值视频数 + MonthlyNewBundleVideoNumber int32 `protobuf:"varint,23,opt,name=monthlyNewBundleVideoNumber,proto3" json:"monthlyNewBundleVideoNumber"` // 当月新增套餐视频数 + MonthlyNewIncreaseVideoNumber int32 `protobuf:"varint,24,opt,name=monthlyNewIncreaseVideoNumber,proto3" json:"monthlyNewIncreaseVideoNumber"` // 当月新增增值视频数 + MonthlyBundleVideoNumber int32 `protobuf:"varint,25,opt,name=monthlyBundleVideoNumber,proto3" json:"monthlyBundleVideoNumber"` // 当月可用套餐视频数 + MonthlyIncreaseVideoNumber int32 `protobuf:"varint,26,opt,name=monthlyIncreaseVideoNumber,proto3" json:"monthlyIncreaseVideoNumber"` // 当月可用增值视频数 + MonthBundleVideoConsumptionNumber int32 `protobuf:"varint,27,opt,name=monthBundleVideoConsumptionNumber,proto3" json:"monthBundleVideoConsumptionNumber"` // 当月使用套餐视频数 + MonthIncreaseVideoConsumptionNumber int32 `protobuf:"varint,28,opt,name=monthIncreaseVideoConsumptionNumber,proto3" json:"monthIncreaseVideoConsumptionNumber"` // 当月使用增值视频数 + MonthlyInvalidBundleVideoNumber int32 `protobuf:"varint,29,opt,name=monthlyInvalidBundleVideoNumber,proto3" json:"monthlyInvalidBundleVideoNumber"` // 当月作废套餐视频数 + MonthlyInvalidIncreaseVideoNumber int32 `protobuf:"varint,30,opt,name=monthlyInvalidIncreaseVideoNumber,proto3" json:"monthlyInvalidIncreaseVideoNumber"` // 当月作废增值视频数 // 图文类统计 - BundleImageNumber int32 `protobuf:"varint,31,opt,name=bundleImageNumber,proto3" json:"bundleImageNumber,omitempty"` // 当前可用套餐图文数 - IncreaseImageNumber int32 `protobuf:"varint,32,opt,name=increaseImageNumber,proto3" json:"increaseImageNumber,omitempty"` // 当前可用增值图文数 - BundleImageConsumptionNumber int32 `protobuf:"varint,33,opt,name=bundleImageConsumptionNumber,proto3" json:"bundleImageConsumptionNumber,omitempty"` // 当前已用套餐图文数 - IncreaseImageConsumptionNumber int32 `protobuf:"varint,34,opt,name=increaseImageConsumptionNumber,proto3" json:"increaseImageConsumptionNumber,omitempty"` // 当前已用增值图文数 - InvalidBundleImageNumber int32 `protobuf:"varint,35,opt,name=invalidBundleImageNumber,proto3" json:"invalidBundleImageNumber,omitempty"` // 当前作废套餐图文数 - InvalidIncreaseImageNumber int32 `protobuf:"varint,36,opt,name=invalidIncreaseImageNumber,proto3" json:"invalidIncreaseImageNumber,omitempty"` // 当前作废增值图文数 - MonthlyNewBundleImageNumber int32 `protobuf:"varint,37,opt,name=monthlyNewBundleImageNumber,proto3" json:"monthlyNewBundleImageNumber,omitempty"` // 当月新增套餐图文数 - MonthlyNewIncreaseImageNumber int32 `protobuf:"varint,38,opt,name=monthlyNewIncreaseImageNumber,proto3" json:"monthlyNewIncreaseImageNumber,omitempty"` // 当月新增增值图文数 - MonthlyBundleImageNumber int32 `protobuf:"varint,39,opt,name=monthlyBundleImageNumber,proto3" json:"monthlyBundleImageNumber,omitempty"` // 当月可用套餐图文数 - MonthlyIncreaseImageNumber int32 `protobuf:"varint,40,opt,name=monthlyIncreaseImageNumber,proto3" json:"monthlyIncreaseImageNumber,omitempty"` // 当月可用增值图文数 - MonthBundleImageConsumptionNumber int32 `protobuf:"varint,41,opt,name=monthBundleImageConsumptionNumber,proto3" json:"monthBundleImageConsumptionNumber,omitempty"` // 当月使用套餐图文数 - MonthIncreaseImageConsumptionNumber int32 `protobuf:"varint,42,opt,name=monthIncreaseImageConsumptionNumber,proto3" json:"monthIncreaseImageConsumptionNumber,omitempty"` // 当月使用增值图文数 - MonthlyInvalidBundleImageNumber int32 `protobuf:"varint,43,opt,name=monthlyInvalidBundleImageNumber,proto3" json:"monthlyInvalidBundleImageNumber,omitempty"` // 当月作废套餐图文数 - MonthlyInvalidIncreaseImageNumber int32 `protobuf:"varint,44,opt,name=monthlyInvalidIncreaseImageNumber,proto3" json:"monthlyInvalidIncreaseImageNumber,omitempty"` // 当月作废增值图文数 + BundleImageNumber int32 `protobuf:"varint,31,opt,name=bundleImageNumber,proto3" json:"bundleImageNumber"` // 当前可用套餐图文数 + IncreaseImageNumber int32 `protobuf:"varint,32,opt,name=increaseImageNumber,proto3" json:"increaseImageNumber"` // 当前可用增值图文数 + BundleImageConsumptionNumber int32 `protobuf:"varint,33,opt,name=bundleImageConsumptionNumber,proto3" json:"bundleImageConsumptionNumber"` // 当前已用套餐图文数 + IncreaseImageConsumptionNumber int32 `protobuf:"varint,34,opt,name=increaseImageConsumptionNumber,proto3" json:"increaseImageConsumptionNumber"` // 当前已用增值图文数 + InvalidBundleImageNumber int32 `protobuf:"varint,35,opt,name=invalidBundleImageNumber,proto3" json:"invalidBundleImageNumber"` // 当前作废套餐图文数 + InvalidIncreaseImageNumber int32 `protobuf:"varint,36,opt,name=invalidIncreaseImageNumber,proto3" json:"invalidIncreaseImageNumber"` // 当前作废增值图文数 + MonthlyNewBundleImageNumber int32 `protobuf:"varint,37,opt,name=monthlyNewBundleImageNumber,proto3" json:"monthlyNewBundleImageNumber"` // 当月新增套餐图文数 + MonthlyNewIncreaseImageNumber int32 `protobuf:"varint,38,opt,name=monthlyNewIncreaseImageNumber,proto3" json:"monthlyNewIncreaseImageNumber"` // 当月新增增值图文数 + MonthlyBundleImageNumber int32 `protobuf:"varint,39,opt,name=monthlyBundleImageNumber,proto3" json:"monthlyBundleImageNumber"` // 当月可用套餐图文数 + MonthlyIncreaseImageNumber int32 `protobuf:"varint,40,opt,name=monthlyIncreaseImageNumber,proto3" json:"monthlyIncreaseImageNumber"` // 当月可用增值图文数 + MonthBundleImageConsumptionNumber int32 `protobuf:"varint,41,opt,name=monthBundleImageConsumptionNumber,proto3" json:"monthBundleImageConsumptionNumber"` // 当月使用套餐图文数 + MonthIncreaseImageConsumptionNumber int32 `protobuf:"varint,42,opt,name=monthIncreaseImageConsumptionNumber,proto3" json:"monthIncreaseImageConsumptionNumber"` // 当月使用增值图文数 + MonthlyInvalidBundleImageNumber int32 `protobuf:"varint,43,opt,name=monthlyInvalidBundleImageNumber,proto3" json:"monthlyInvalidBundleImageNumber"` // 当月作废套餐图文数 + MonthlyInvalidIncreaseImageNumber int32 `protobuf:"varint,44,opt,name=monthlyInvalidIncreaseImageNumber,proto3" json:"monthlyInvalidIncreaseImageNumber"` // 当月作废增值图文数 // 数据分析类统计 - BundleDataAnalysisNumber int32 `protobuf:"varint,45,opt,name=bundleDataAnalysisNumber,proto3" json:"bundleDataAnalysisNumber,omitempty"` // 当前可用套餐数据数 - IncreaseDataAnalysisNumber int32 `protobuf:"varint,46,opt,name=increaseDataAnalysisNumber,proto3" json:"increaseDataAnalysisNumber,omitempty"` // 当前可用增值数据数 - BundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,47,opt,name=bundleDataAnalysisConsumptionNumber,proto3" json:"bundleDataAnalysisConsumptionNumber,omitempty"` // 当前已用套餐数据数 - IncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,48,opt,name=increaseDataAnalysisConsumptionNumber,proto3" json:"increaseDataAnalysisConsumptionNumber,omitempty"` // 当前已用增值数据数 - InvalidBundleDataAnalysisNumber int32 `protobuf:"varint,49,opt,name=invalidBundleDataAnalysisNumber,proto3" json:"invalidBundleDataAnalysisNumber,omitempty"` // 当前作废套餐数据数 - InvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,50,opt,name=invalidIncreaseDataAnalysisNumber,proto3" json:"invalidIncreaseDataAnalysisNumber,omitempty"` // 当前作废增值数据数 - MonthlyNewBundleDataAnalysisNumber int32 `protobuf:"varint,51,opt,name=monthlyNewBundleDataAnalysisNumber,proto3" json:"monthlyNewBundleDataAnalysisNumber,omitempty"` // 当月新增套餐数据数 - MonthlyNewIncreaseDataAnalysisNumber int32 `protobuf:"varint,52,opt,name=monthlyNewIncreaseDataAnalysisNumber,proto3" json:"monthlyNewIncreaseDataAnalysisNumber,omitempty"` // 当月新增增值数据数 - MonthlyBundleDataAnalysisNumber int32 `protobuf:"varint,53,opt,name=monthlyBundleDataAnalysisNumber,proto3" json:"monthlyBundleDataAnalysisNumber,omitempty"` // 当月可用套餐数据分析数 - MonthlyIncreaseDataAnalysisNumber int32 `protobuf:"varint,54,opt,name=monthlyIncreaseDataAnalysisNumber,proto3" json:"monthlyIncreaseDataAnalysisNumber,omitempty"` // 当月可用增值数据分析数 - MonthBundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,55,opt,name=monthBundleDataAnalysisConsumptionNumber,proto3" json:"monthBundleDataAnalysisConsumptionNumber,omitempty"` // 当月使用套餐数据数 - MonthIncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,56,opt,name=monthIncreaseDataAnalysisConsumptionNumber,proto3" json:"monthIncreaseDataAnalysisConsumptionNumber,omitempty"` // 当月使用增值数据数 - MonthlyInvalidBundleDataAnalysisNumber int32 `protobuf:"varint,57,opt,name=monthlyInvalidBundleDataAnalysisNumber,proto3" json:"monthlyInvalidBundleDataAnalysisNumber,omitempty"` // 当月作废套餐数据数 - MonthlyInvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,58,opt,name=monthlyInvalidIncreaseDataAnalysisNumber,proto3" json:"monthlyInvalidIncreaseDataAnalysisNumber,omitempty"` // 当月作废增值数据数 + BundleDataAnalysisNumber int32 `protobuf:"varint,45,opt,name=bundleDataAnalysisNumber,proto3" json:"bundleDataAnalysisNumber"` // 当前可用套餐数据数 + IncreaseDataAnalysisNumber int32 `protobuf:"varint,46,opt,name=increaseDataAnalysisNumber,proto3" json:"increaseDataAnalysisNumber"` // 当前可用增值数据数 + BundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,47,opt,name=bundleDataAnalysisConsumptionNumber,proto3" json:"bundleDataAnalysisConsumptionNumber"` // 当前已用套餐数据数 + IncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,48,opt,name=increaseDataAnalysisConsumptionNumber,proto3" json:"increaseDataAnalysisConsumptionNumber"` // 当前已用增值数据数 + InvalidBundleDataAnalysisNumber int32 `protobuf:"varint,49,opt,name=invalidBundleDataAnalysisNumber,proto3" json:"invalidBundleDataAnalysisNumber"` // 当前作废套餐数据数 + InvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,50,opt,name=invalidIncreaseDataAnalysisNumber,proto3" json:"invalidIncreaseDataAnalysisNumber"` // 当前作废增值数据数 + MonthlyNewBundleDataAnalysisNumber int32 `protobuf:"varint,51,opt,name=monthlyNewBundleDataAnalysisNumber,proto3" json:"monthlyNewBundleDataAnalysisNumber"` // 当月新增套餐数据数 + MonthlyNewIncreaseDataAnalysisNumber int32 `protobuf:"varint,52,opt,name=monthlyNewIncreaseDataAnalysisNumber,proto3" json:"monthlyNewIncreaseDataAnalysisNumber"` // 当月新增增值数据数 + MonthlyBundleDataAnalysisNumber int32 `protobuf:"varint,53,opt,name=monthlyBundleDataAnalysisNumber,proto3" json:"monthlyBundleDataAnalysisNumber"` // 当月可用套餐数据分析数 + MonthlyIncreaseDataAnalysisNumber int32 `protobuf:"varint,54,opt,name=monthlyIncreaseDataAnalysisNumber,proto3" json:"monthlyIncreaseDataAnalysisNumber"` // 当月可用增值数据分析数 + MonthBundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,55,opt,name=monthBundleDataAnalysisConsumptionNumber,proto3" json:"monthBundleDataAnalysisConsumptionNumber"` // 当月使用套餐数据数 + MonthIncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,56,opt,name=monthIncreaseDataAnalysisConsumptionNumber,proto3" json:"monthIncreaseDataAnalysisConsumptionNumber"` // 当月使用增值数据数 + MonthlyInvalidBundleDataAnalysisNumber int32 `protobuf:"varint,57,opt,name=monthlyInvalidBundleDataAnalysisNumber,proto3" json:"monthlyInvalidBundleDataAnalysisNumber"` // 当月作废套餐数据数 + MonthlyInvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,58,opt,name=monthlyInvalidIncreaseDataAnalysisNumber,proto3" json:"monthlyInvalidIncreaseDataAnalysisNumber"` // 当月作废增值数据数 // 手动扩展数据 - MonthlyNewManualAccountNumber int32 `protobuf:"varint,59,opt,name=monthlyNewManualAccountNumber,proto3" json:"monthlyNewManualAccountNumber,omitempty"` // 当月新增手动扩展账号数 - MonthlyNewManualVideoNumber int32 `protobuf:"varint,60,opt,name=monthlyNewManualVideoNumber,proto3" json:"monthlyNewManualVideoNumber,omitempty"` // 当月新增手动扩展视频数 - MonthlyNewManualImageNumber int32 `protobuf:"varint,61,opt,name=monthlyNewManualImageNumber,proto3" json:"monthlyNewManualImageNumber,omitempty"` // 当月新增手动扩展图文数 - MonthlyNewManualDataAnalysisNumber int32 `protobuf:"varint,62,opt,name=monthlyNewManualDataAnalysisNumber,proto3" json:"monthlyNewManualDataAnalysisNumber,omitempty"` // 当月新增手动扩展数据数 - MonthlyNewDurationNumber int32 `protobuf:"varint,63,opt,name=monthlyNewDurationNumber,proto3" json:"monthlyNewDurationNumber,omitempty"` // 当月新增手动扩展时长(日) - MonthlyManualAccountConsumptionNumber int32 `protobuf:"varint,64,opt,name=monthlyManualAccountConsumptionNumber,proto3" json:"monthlyManualAccountConsumptionNumber,omitempty"` // 当月已用手动扩展账号数 - MonthlyManualVideoConsumptionNumber int32 `protobuf:"varint,65,opt,name=monthlyManualVideoConsumptionNumber,proto3" json:"monthlyManualVideoConsumptionNumber,omitempty"` // 当月已用手动扩展视频数 - MonthlyManualImageConsumptionNumber int32 `protobuf:"varint,66,opt,name=monthlyManualImageConsumptionNumber,proto3" json:"monthlyManualImageConsumptionNumber,omitempty"` // 当月已用手动扩展图文数 - MonthlyManualDataAnalysisConsumptionNumber int32 `protobuf:"varint,67,opt,name=monthlyManualDataAnalysisConsumptionNumber,proto3" json:"monthlyManualDataAnalysisConsumptionNumber,omitempty"` // 当月已用手动扩展数据数 - ManualAccountConsumptionNumber int32 `protobuf:"varint,68,opt,name=manualAccountConsumptionNumber,proto3" json:"manualAccountConsumptionNumber,omitempty"` // 已用手动扩展账号数 - ManualVideoConsumptionNumber int32 `protobuf:"varint,69,opt,name=manualVideoConsumptionNumber,proto3" json:"manualVideoConsumptionNumber,omitempty"` // 已用手动扩展视频数 - ManualImageConsumptionNumber int32 `protobuf:"varint,70,opt,name=manualImageConsumptionNumber,proto3" json:"manualImageConsumptionNumber,omitempty"` // 已用手动扩展图文数 - ManualDataAnalysisConsumptionNumber int32 `protobuf:"varint,71,opt,name=manualDataAnalysisConsumptionNumber,proto3" json:"manualDataAnalysisConsumptionNumber,omitempty"` // 已用手动扩展数据数 - ManualAccountNumber int32 `protobuf:"varint,72,opt,name=manualAccountNumber,proto3" json:"manualAccountNumber,omitempty"` // 可用手动扩展账号数 - ManualVideoNumber int32 `protobuf:"varint,73,opt,name=manualVideoNumber,proto3" json:"manualVideoNumber,omitempty"` // 可用手动扩展视频数 - ManualImageNumber int32 `protobuf:"varint,74,opt,name=manualImageNumber,proto3" json:"manualImageNumber,omitempty"` // 可用手动扩展图文数 - ManualDataAnalysisNumber int32 `protobuf:"varint,75,opt,name=manualDataAnalysisNumber,proto3" json:"manualDataAnalysisNumber,omitempty"` // 可用手动扩展数据数 + MonthlyNewManualAccountNumber int32 `protobuf:"varint,59,opt,name=monthlyNewManualAccountNumber,proto3" json:"monthlyNewManualAccountNumber"` // 当月新增手动扩展账号数 + MonthlyNewManualVideoNumber int32 `protobuf:"varint,60,opt,name=monthlyNewManualVideoNumber,proto3" json:"monthlyNewManualVideoNumber"` // 当月新增手动扩展视频数 + MonthlyNewManualImageNumber int32 `protobuf:"varint,61,opt,name=monthlyNewManualImageNumber,proto3" json:"monthlyNewManualImageNumber"` // 当月新增手动扩展图文数 + MonthlyNewManualDataAnalysisNumber int32 `protobuf:"varint,62,opt,name=monthlyNewManualDataAnalysisNumber,proto3" json:"monthlyNewManualDataAnalysisNumber"` // 当月新增手动扩展数据数 + MonthlyNewDurationNumber int32 `protobuf:"varint,63,opt,name=monthlyNewDurationNumber,proto3" json:"monthlyNewDurationNumber"` // 当月新增手动扩展时长(日) + MonthlyManualAccountConsumptionNumber int32 `protobuf:"varint,64,opt,name=monthlyManualAccountConsumptionNumber,proto3" json:"monthlyManualAccountConsumptionNumber"` // 当月已用手动扩展账号数 + MonthlyManualVideoConsumptionNumber int32 `protobuf:"varint,65,opt,name=monthlyManualVideoConsumptionNumber,proto3" json:"monthlyManualVideoConsumptionNumber"` // 当月已用手动扩展视频数 + MonthlyManualImageConsumptionNumber int32 `protobuf:"varint,66,opt,name=monthlyManualImageConsumptionNumber,proto3" json:"monthlyManualImageConsumptionNumber"` // 当月已用手动扩展图文数 + MonthlyManualDataAnalysisConsumptionNumber int32 `protobuf:"varint,67,opt,name=monthlyManualDataAnalysisConsumptionNumber,proto3" json:"monthlyManualDataAnalysisConsumptionNumber"` // 当月已用手动扩展数据数 + ManualAccountConsumptionNumber int32 `protobuf:"varint,68,opt,name=manualAccountConsumptionNumber,proto3" json:"manualAccountConsumptionNumber"` // 已用手动扩展账号数 + ManualVideoConsumptionNumber int32 `protobuf:"varint,69,opt,name=manualVideoConsumptionNumber,proto3" json:"manualVideoConsumptionNumber"` // 已用手动扩展视频数 + ManualImageConsumptionNumber int32 `protobuf:"varint,70,opt,name=manualImageConsumptionNumber,proto3" json:"manualImageConsumptionNumber"` // 已用手动扩展图文数 + ManualDataAnalysisConsumptionNumber int32 `protobuf:"varint,71,opt,name=manualDataAnalysisConsumptionNumber,proto3" json:"manualDataAnalysisConsumptionNumber"` // 已用手动扩展数据数 + ManualAccountNumber int32 `protobuf:"varint,72,opt,name=manualAccountNumber,proto3" json:"manualAccountNumber"` // 可用手动扩展账号数 + ManualVideoNumber int32 `protobuf:"varint,73,opt,name=manualVideoNumber,proto3" json:"manualVideoNumber"` // 可用手动扩展视频数 + ManualImageNumber int32 `protobuf:"varint,74,opt,name=manualImageNumber,proto3" json:"manualImageNumber"` // 可用手动扩展图文数 + ManualDataAnalysisNumber int32 `protobuf:"varint,75,opt,name=manualDataAnalysisNumber,proto3" json:"manualDataAnalysisNumber"` // 可用手动扩展数据数 } func (x *BundleBalanceItem) Reset() { @@ -6548,78 +6548,78 @@ type BundleBalanceExportItem struct { unknownFields protoimpl.UnknownFields // 基本信息 - Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` // 所属月份 - CustomerNum string `protobuf:"bytes,2,opt,name=customerNum,proto3" json:"customerNum,omitempty"` // 用户编号 - UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName,omitempty"` // 名字 - UserPhoneNumber string `protobuf:"bytes,4,opt,name=userPhoneNumber,proto3" json:"userPhoneNumber,omitempty"` // 手机号 - PayTime string `protobuf:"bytes,5,opt,name=payTime,proto3" json:"payTime,omitempty"` // 支付时间 - BundleAmount float32 `protobuf:"fixed32,6,opt,name=bundleAmount,proto3" json:"bundleAmount,omitempty"` // 套餐金额 - IncreaseAmount float32 `protobuf:"fixed32,7,opt,name=increaseAmount,proto3" json:"increaseAmount,omitempty"` // 增值服务金额 - TotalPayAmount float32 `protobuf:"fixed32,8,opt,name=totalPayAmount,proto3" json:"totalPayAmount,omitempty"` // 支付金额 - Currency string `protobuf:"bytes,9,opt,name=currency,proto3" json:"currency,omitempty"` // 币种 - Fee string `protobuf:"bytes,10,opt,name=fee,proto3" json:"fee,omitempty"` // 手续费 - BundleVideoUnitPrice float32 `protobuf:"fixed32,11,opt,name=bundleVideoUnitPrice,proto3" json:"bundleVideoUnitPrice,omitempty"` // 套餐视频单价 - IncreaseVideoUnitPrice float32 `protobuf:"fixed32,12,opt,name=increaseVideoUnitPrice,proto3" json:"increaseVideoUnitPrice,omitempty"` // 增值视频单价 + Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month"` // 所属月份 + CustomerNum string `protobuf:"bytes,2,opt,name=customerNum,proto3" json:"customerNum"` // 用户编号 + UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName"` // 名字 + UserPhoneNumber string `protobuf:"bytes,4,opt,name=userPhoneNumber,proto3" json:"userPhoneNumber"` // 手机号 + PayTime string `protobuf:"bytes,5,opt,name=payTime,proto3" json:"payTime"` // 支付时间 + BundleAmount float32 `protobuf:"fixed32,6,opt,name=bundleAmount,proto3" json:"bundleAmount"` // 套餐金额 + IncreaseAmount float32 `protobuf:"fixed32,7,opt,name=increaseAmount,proto3" json:"increaseAmount"` // 增值服务金额 + TotalPayAmount float32 `protobuf:"fixed32,8,opt,name=totalPayAmount,proto3" json:"totalPayAmount"` // 支付金额 + Currency string `protobuf:"bytes,9,opt,name=currency,proto3" json:"currency"` // 币种 + Fee string `protobuf:"bytes,10,opt,name=fee,proto3" json:"fee"` // 手续费 + BundleVideoUnitPrice float32 `protobuf:"fixed32,11,opt,name=bundleVideoUnitPrice,proto3" json:"bundleVideoUnitPrice"` // 套餐视频单价 + IncreaseVideoUnitPrice float32 `protobuf:"fixed32,12,opt,name=increaseVideoUnitPrice,proto3" json:"increaseVideoUnitPrice"` // 增值视频单价 // 账号类 - BundleAccountNumber int32 `protobuf:"varint,13,opt,name=bundleAccountNumber,proto3" json:"bundleAccountNumber,omitempty"` // 套餐账号总数 - IncreaseAccountNumber int32 `protobuf:"varint,14,opt,name=increaseAccountNumber,proto3" json:"increaseAccountNumber,omitempty"` // 增值账号总数 - BundleAccountConsumptionNumber int32 `protobuf:"varint,15,opt,name=bundleAccountConsumptionNumber,proto3" json:"bundleAccountConsumptionNumber,omitempty"` // 套餐账号使用数 - IncreaseAccountConsumptionNumber int32 `protobuf:"varint,16,opt,name=increaseAccountConsumptionNumber,proto3" json:"increaseAccountConsumptionNumber,omitempty"` // 增值账号使用数 + BundleAccountNumber int32 `protobuf:"varint,13,opt,name=bundleAccountNumber,proto3" json:"bundleAccountNumber"` // 套餐账号总数 + IncreaseAccountNumber int32 `protobuf:"varint,14,opt,name=increaseAccountNumber,proto3" json:"increaseAccountNumber"` // 增值账号总数 + BundleAccountConsumptionNumber int32 `protobuf:"varint,15,opt,name=bundleAccountConsumptionNumber,proto3" json:"bundleAccountConsumptionNumber"` // 套餐账号使用数 + IncreaseAccountConsumptionNumber int32 `protobuf:"varint,16,opt,name=increaseAccountConsumptionNumber,proto3" json:"increaseAccountConsumptionNumber"` // 增值账号使用数 // 视频类 - BundleVideoNumber int32 `protobuf:"varint,17,opt,name=bundleVideoNumber,proto3" json:"bundleVideoNumber,omitempty"` // 当前可用套餐视频数 - IncreaseVideoNumber int32 `protobuf:"varint,18,opt,name=increaseVideoNumber,proto3" json:"increaseVideoNumber,omitempty"` // 当前可用增值视频数 - BundleVideoConsumptionNumber int32 `protobuf:"varint,19,opt,name=bundleVideoConsumptionNumber,proto3" json:"bundleVideoConsumptionNumber,omitempty"` // 当前已用套餐视频数 - IncreaseVideoConsumptionNumber int32 `protobuf:"varint,20,opt,name=increaseVideoConsumptionNumber,proto3" json:"increaseVideoConsumptionNumber,omitempty"` // 当前已用增值视频数 - InvalidBundleVideoNumber int32 `protobuf:"varint,21,opt,name=invalidBundleVideoNumber,proto3" json:"invalidBundleVideoNumber,omitempty"` // 当前作废套餐视频数 - InvalidIncreaseVideoNumber int32 `protobuf:"varint,22,opt,name=invalidIncreaseVideoNumber,proto3" json:"invalidIncreaseVideoNumber,omitempty"` // 当前作废增值视频数 - MonthlyNewBundleVideoNumber int32 `protobuf:"varint,23,opt,name=monthlyNewBundleVideoNumber,proto3" json:"monthlyNewBundleVideoNumber,omitempty"` // 当月新增套餐视频数 - MonthlyNewIncreaseVideoNumber int32 `protobuf:"varint,24,opt,name=monthlyNewIncreaseVideoNumber,proto3" json:"monthlyNewIncreaseVideoNumber,omitempty"` // 当月新增增值视频数 - MonthlyBundleVideoNumber int32 `protobuf:"varint,25,opt,name=monthlyBundleVideoNumber,proto3" json:"monthlyBundleVideoNumber,omitempty"` // 当月可用套餐视频数 - MonthlyIncreaseVideoNumber int32 `protobuf:"varint,26,opt,name=monthlyIncreaseVideoNumber,proto3" json:"monthlyIncreaseVideoNumber,omitempty"` // 当月可用增值视频数 - MonthlyBundleVideoConsumptionNumber int32 `protobuf:"varint,27,opt,name=monthlyBundleVideoConsumptionNumber,proto3" json:"monthlyBundleVideoConsumptionNumber,omitempty"` // 当月使用套餐视频数 - MonthlyIncreaseVideoConsumptionNumber int32 `protobuf:"varint,28,opt,name=monthlyIncreaseVideoConsumptionNumber,proto3" json:"monthlyIncreaseVideoConsumptionNumber,omitempty"` // 当月使用增值视频数 - MonthlyInvalidBundleVideoNumber int32 `protobuf:"varint,29,opt,name=monthlyInvalidBundleVideoNumber,proto3" json:"monthlyInvalidBundleVideoNumber,omitempty"` // 当月作废套餐视频数 - MonthlyInvalidIncreaseVideoNumber int32 `protobuf:"varint,30,opt,name=monthlyInvalidIncreaseVideoNumber,proto3" json:"monthlyInvalidIncreaseVideoNumber,omitempty"` // 当月作废增值视频数 + BundleVideoNumber int32 `protobuf:"varint,17,opt,name=bundleVideoNumber,proto3" json:"bundleVideoNumber"` // 当前可用套餐视频数 + IncreaseVideoNumber int32 `protobuf:"varint,18,opt,name=increaseVideoNumber,proto3" json:"increaseVideoNumber"` // 当前可用增值视频数 + BundleVideoConsumptionNumber int32 `protobuf:"varint,19,opt,name=bundleVideoConsumptionNumber,proto3" json:"bundleVideoConsumptionNumber"` // 当前已用套餐视频数 + IncreaseVideoConsumptionNumber int32 `protobuf:"varint,20,opt,name=increaseVideoConsumptionNumber,proto3" json:"increaseVideoConsumptionNumber"` // 当前已用增值视频数 + InvalidBundleVideoNumber int32 `protobuf:"varint,21,opt,name=invalidBundleVideoNumber,proto3" json:"invalidBundleVideoNumber"` // 当前作废套餐视频数 + InvalidIncreaseVideoNumber int32 `protobuf:"varint,22,opt,name=invalidIncreaseVideoNumber,proto3" json:"invalidIncreaseVideoNumber"` // 当前作废增值视频数 + MonthlyNewBundleVideoNumber int32 `protobuf:"varint,23,opt,name=monthlyNewBundleVideoNumber,proto3" json:"monthlyNewBundleVideoNumber"` // 当月新增套餐视频数 + MonthlyNewIncreaseVideoNumber int32 `protobuf:"varint,24,opt,name=monthlyNewIncreaseVideoNumber,proto3" json:"monthlyNewIncreaseVideoNumber"` // 当月新增增值视频数 + MonthlyBundleVideoNumber int32 `protobuf:"varint,25,opt,name=monthlyBundleVideoNumber,proto3" json:"monthlyBundleVideoNumber"` // 当月可用套餐视频数 + MonthlyIncreaseVideoNumber int32 `protobuf:"varint,26,opt,name=monthlyIncreaseVideoNumber,proto3" json:"monthlyIncreaseVideoNumber"` // 当月可用增值视频数 + MonthlyBundleVideoConsumptionNumber int32 `protobuf:"varint,27,opt,name=monthlyBundleVideoConsumptionNumber,proto3" json:"monthlyBundleVideoConsumptionNumber"` // 当月使用套餐视频数 + MonthlyIncreaseVideoConsumptionNumber int32 `protobuf:"varint,28,opt,name=monthlyIncreaseVideoConsumptionNumber,proto3" json:"monthlyIncreaseVideoConsumptionNumber"` // 当月使用增值视频数 + MonthlyInvalidBundleVideoNumber int32 `protobuf:"varint,29,opt,name=monthlyInvalidBundleVideoNumber,proto3" json:"monthlyInvalidBundleVideoNumber"` // 当月作废套餐视频数 + MonthlyInvalidIncreaseVideoNumber int32 `protobuf:"varint,30,opt,name=monthlyInvalidIncreaseVideoNumber,proto3" json:"monthlyInvalidIncreaseVideoNumber"` // 当月作废增值视频数 // 图文类 - BundleImageNumber int32 `protobuf:"varint,31,opt,name=bundleImageNumber,proto3" json:"bundleImageNumber,omitempty"` // 当前可用套餐图文数 - IncreaseImageNumber int32 `protobuf:"varint,32,opt,name=increaseImageNumber,proto3" json:"increaseImageNumber,omitempty"` // 当前可用增值图文数 - BundleImageConsumptionNumber int32 `protobuf:"varint,33,opt,name=bundleImageConsumptionNumber,proto3" json:"bundleImageConsumptionNumber,omitempty"` // 当前已用套餐图文数 - IncreaseImageConsumptionNumber int32 `protobuf:"varint,34,opt,name=increaseImageConsumptionNumber,proto3" json:"increaseImageConsumptionNumber,omitempty"` // 当前已用增值图文数 - InvalidBundleImageNumber int32 `protobuf:"varint,35,opt,name=invalidBundleImageNumber,proto3" json:"invalidBundleImageNumber,omitempty"` // 当前作废套餐图文数 - InvalidIncreaseImageNumber int32 `protobuf:"varint,36,opt,name=invalidIncreaseImageNumber,proto3" json:"invalidIncreaseImageNumber,omitempty"` // 当前作废增值图文数 - MonthlyNewBundleImageNumber int32 `protobuf:"varint,37,opt,name=monthlyNewBundleImageNumber,proto3" json:"monthlyNewBundleImageNumber,omitempty"` // 当月新增套餐图文数 - MonthlyNewIncreaseImageNumber int32 `protobuf:"varint,38,opt,name=monthlyNewIncreaseImageNumber,proto3" json:"monthlyNewIncreaseImageNumber,omitempty"` // 当月新增增值图文数 - MonthlyBundleImageNumber int32 `protobuf:"varint,39,opt,name=monthlyBundleImageNumber,proto3" json:"monthlyBundleImageNumber,omitempty"` // 当月可用套餐图文数 - MonthlyIncreaseImageNumber int32 `protobuf:"varint,40,opt,name=monthlyIncreaseImageNumber,proto3" json:"monthlyIncreaseImageNumber,omitempty"` // 当月可用增值图文数 - MonthlyBundleImageConsumptionNumber int32 `protobuf:"varint,41,opt,name=monthlyBundleImageConsumptionNumber,proto3" json:"monthlyBundleImageConsumptionNumber,omitempty"` // 当月使用套餐图文数 - MonthlyIncreaseImageConsumptionNumber int32 `protobuf:"varint,42,opt,name=monthlyIncreaseImageConsumptionNumber,proto3" json:"monthlyIncreaseImageConsumptionNumber,omitempty"` // 当月使用增值图文数 - MonthlyInvalidBundleImageNumber int32 `protobuf:"varint,43,opt,name=monthlyInvalidBundleImageNumber,proto3" json:"monthlyInvalidBundleImageNumber,omitempty"` // 当月作废套餐图文数 - MonthlyInvalidIncreaseImageNumber int32 `protobuf:"varint,44,opt,name=monthlyInvalidIncreaseImageNumber,proto3" json:"monthlyInvalidIncreaseImageNumber,omitempty"` // 当月作废增值图文数 + BundleImageNumber int32 `protobuf:"varint,31,opt,name=bundleImageNumber,proto3" json:"bundleImageNumber"` // 当前可用套餐图文数 + IncreaseImageNumber int32 `protobuf:"varint,32,opt,name=increaseImageNumber,proto3" json:"increaseImageNumber"` // 当前可用增值图文数 + BundleImageConsumptionNumber int32 `protobuf:"varint,33,opt,name=bundleImageConsumptionNumber,proto3" json:"bundleImageConsumptionNumber"` // 当前已用套餐图文数 + IncreaseImageConsumptionNumber int32 `protobuf:"varint,34,opt,name=increaseImageConsumptionNumber,proto3" json:"increaseImageConsumptionNumber"` // 当前已用增值图文数 + InvalidBundleImageNumber int32 `protobuf:"varint,35,opt,name=invalidBundleImageNumber,proto3" json:"invalidBundleImageNumber"` // 当前作废套餐图文数 + InvalidIncreaseImageNumber int32 `protobuf:"varint,36,opt,name=invalidIncreaseImageNumber,proto3" json:"invalidIncreaseImageNumber"` // 当前作废增值图文数 + MonthlyNewBundleImageNumber int32 `protobuf:"varint,37,opt,name=monthlyNewBundleImageNumber,proto3" json:"monthlyNewBundleImageNumber"` // 当月新增套餐图文数 + MonthlyNewIncreaseImageNumber int32 `protobuf:"varint,38,opt,name=monthlyNewIncreaseImageNumber,proto3" json:"monthlyNewIncreaseImageNumber"` // 当月新增增值图文数 + MonthlyBundleImageNumber int32 `protobuf:"varint,39,opt,name=monthlyBundleImageNumber,proto3" json:"monthlyBundleImageNumber"` // 当月可用套餐图文数 + MonthlyIncreaseImageNumber int32 `protobuf:"varint,40,opt,name=monthlyIncreaseImageNumber,proto3" json:"monthlyIncreaseImageNumber"` // 当月可用增值图文数 + MonthlyBundleImageConsumptionNumber int32 `protobuf:"varint,41,opt,name=monthlyBundleImageConsumptionNumber,proto3" json:"monthlyBundleImageConsumptionNumber"` // 当月使用套餐图文数 + MonthlyIncreaseImageConsumptionNumber int32 `protobuf:"varint,42,opt,name=monthlyIncreaseImageConsumptionNumber,proto3" json:"monthlyIncreaseImageConsumptionNumber"` // 当月使用增值图文数 + MonthlyInvalidBundleImageNumber int32 `protobuf:"varint,43,opt,name=monthlyInvalidBundleImageNumber,proto3" json:"monthlyInvalidBundleImageNumber"` // 当月作废套餐图文数 + MonthlyInvalidIncreaseImageNumber int32 `protobuf:"varint,44,opt,name=monthlyInvalidIncreaseImageNumber,proto3" json:"monthlyInvalidIncreaseImageNumber"` // 当月作废增值图文数 // 数据分析类 - BundleDataAnalysisNumber int32 `protobuf:"varint,45,opt,name=bundleDataAnalysisNumber,proto3" json:"bundleDataAnalysisNumber,omitempty"` // 当前可用套餐数据分析数 - IncreaseDataAnalysisNumber int32 `protobuf:"varint,46,opt,name=increaseDataAnalysisNumber,proto3" json:"increaseDataAnalysisNumber,omitempty"` // 当前可用增值数据分析数 - BundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,47,opt,name=bundleDataAnalysisConsumptionNumber,proto3" json:"bundleDataAnalysisConsumptionNumber,omitempty"` // 当前已用套餐数据分析数 - IncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,48,opt,name=increaseDataAnalysisConsumptionNumber,proto3" json:"increaseDataAnalysisConsumptionNumber,omitempty"` // 当前已用增值数据分析数 - InvalidBundleDataAnalysisNumber int32 `protobuf:"varint,49,opt,name=invalidBundleDataAnalysisNumber,proto3" json:"invalidBundleDataAnalysisNumber,omitempty"` // 当前作废套餐数据分析数 - InvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,50,opt,name=invalidIncreaseDataAnalysisNumber,proto3" json:"invalidIncreaseDataAnalysisNumber,omitempty"` // 当前作废增值数据分析数 - MonthlyNewBundleDataAnalysisNumber int32 `protobuf:"varint,51,opt,name=monthlyNewBundleDataAnalysisNumber,proto3" json:"monthlyNewBundleDataAnalysisNumber,omitempty"` // 当月新增套餐数据分析数 - MonthlyNewIncreaseDataAnalysisNumber int32 `protobuf:"varint,52,opt,name=monthlyNewIncreaseDataAnalysisNumber,proto3" json:"monthlyNewIncreaseDataAnalysisNumber,omitempty"` // 当月新增增值数据分析数 - MonthlyBundleDataAnalysisNumber int32 `protobuf:"varint,53,opt,name=monthlyBundleDataAnalysisNumber,proto3" json:"monthlyBundleDataAnalysisNumber,omitempty"` // 当月可用套餐数据分析数 - MonthlyIncreaseDataAnalysisNumber int32 `protobuf:"varint,54,opt,name=monthlyIncreaseDataAnalysisNumber,proto3" json:"monthlyIncreaseDataAnalysisNumber,omitempty"` // 当月可用增值数据分析数 - MonthlyBundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,55,opt,name=monthlyBundleDataAnalysisConsumptionNumber,proto3" json:"monthlyBundleDataAnalysisConsumptionNumber,omitempty"` // 当月使用套餐数据分析数 - MonthlyIncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,56,opt,name=monthlyIncreaseDataAnalysisConsumptionNumber,proto3" json:"monthlyIncreaseDataAnalysisConsumptionNumber,omitempty"` // 当月使用增值数据分析数 - MonthlyInvalidBundleDataAnalysisNumber int32 `protobuf:"varint,57,opt,name=monthlyInvalidBundleDataAnalysisNumber,proto3" json:"monthlyInvalidBundleDataAnalysisNumber,omitempty"` // 当月作废套餐数据分析数 - MonthlyInvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,58,opt,name=monthlyInvalidIncreaseDataAnalysisNumber,proto3" json:"monthlyInvalidIncreaseDataAnalysisNumber,omitempty"` // 当月作废增值数据分析数 + BundleDataAnalysisNumber int32 `protobuf:"varint,45,opt,name=bundleDataAnalysisNumber,proto3" json:"bundleDataAnalysisNumber"` // 当前可用套餐数据分析数 + IncreaseDataAnalysisNumber int32 `protobuf:"varint,46,opt,name=increaseDataAnalysisNumber,proto3" json:"increaseDataAnalysisNumber"` // 当前可用增值数据分析数 + BundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,47,opt,name=bundleDataAnalysisConsumptionNumber,proto3" json:"bundleDataAnalysisConsumptionNumber"` // 当前已用套餐数据分析数 + IncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,48,opt,name=increaseDataAnalysisConsumptionNumber,proto3" json:"increaseDataAnalysisConsumptionNumber"` // 当前已用增值数据分析数 + InvalidBundleDataAnalysisNumber int32 `protobuf:"varint,49,opt,name=invalidBundleDataAnalysisNumber,proto3" json:"invalidBundleDataAnalysisNumber"` // 当前作废套餐数据分析数 + InvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,50,opt,name=invalidIncreaseDataAnalysisNumber,proto3" json:"invalidIncreaseDataAnalysisNumber"` // 当前作废增值数据分析数 + MonthlyNewBundleDataAnalysisNumber int32 `protobuf:"varint,51,opt,name=monthlyNewBundleDataAnalysisNumber,proto3" json:"monthlyNewBundleDataAnalysisNumber"` // 当月新增套餐数据分析数 + MonthlyNewIncreaseDataAnalysisNumber int32 `protobuf:"varint,52,opt,name=monthlyNewIncreaseDataAnalysisNumber,proto3" json:"monthlyNewIncreaseDataAnalysisNumber"` // 当月新增增值数据分析数 + MonthlyBundleDataAnalysisNumber int32 `protobuf:"varint,53,opt,name=monthlyBundleDataAnalysisNumber,proto3" json:"monthlyBundleDataAnalysisNumber"` // 当月可用套餐数据分析数 + MonthlyIncreaseDataAnalysisNumber int32 `protobuf:"varint,54,opt,name=monthlyIncreaseDataAnalysisNumber,proto3" json:"monthlyIncreaseDataAnalysisNumber"` // 当月可用增值数据分析数 + MonthlyBundleDataAnalysisConsumptionNumber int32 `protobuf:"varint,55,opt,name=monthlyBundleDataAnalysisConsumptionNumber,proto3" json:"monthlyBundleDataAnalysisConsumptionNumber"` // 当月使用套餐数据分析数 + MonthlyIncreaseDataAnalysisConsumptionNumber int32 `protobuf:"varint,56,opt,name=monthlyIncreaseDataAnalysisConsumptionNumber,proto3" json:"monthlyIncreaseDataAnalysisConsumptionNumber"` // 当月使用增值数据分析数 + MonthlyInvalidBundleDataAnalysisNumber int32 `protobuf:"varint,57,opt,name=monthlyInvalidBundleDataAnalysisNumber,proto3" json:"monthlyInvalidBundleDataAnalysisNumber"` // 当月作废套餐数据分析数 + MonthlyInvalidIncreaseDataAnalysisNumber int32 `protobuf:"varint,58,opt,name=monthlyInvalidIncreaseDataAnalysisNumber,proto3" json:"monthlyInvalidIncreaseDataAnalysisNumber"` // 当月作废增值数据分析数 // 手动扩展类 - MonthlyNewManualAccountNumber int32 `protobuf:"varint,59,opt,name=monthlyNewManualAccountNumber,proto3" json:"monthlyNewManualAccountNumber,omitempty"` // 当月手动扩展账号新增数 - MonthlyNewManualVideoNumber int32 `protobuf:"varint,60,opt,name=monthlyNewManualVideoNumber,proto3" json:"monthlyNewManualVideoNumber,omitempty"` // 当月手动扩展视频新增数 - MonthlyNewManualImageNumber int32 `protobuf:"varint,61,opt,name=monthlyNewManualImageNumber,proto3" json:"monthlyNewManualImageNumber,omitempty"` // 当月手动扩展图文新增数 - MonthlyNewManualDataAnalysisNumber int32 `protobuf:"varint,62,opt,name=monthlyNewManualDataAnalysisNumber,proto3" json:"monthlyNewManualDataAnalysisNumber,omitempty"` // 当月手动扩展数据分析新增数 - MonthlyNewDurationNumber int32 `protobuf:"varint,63,opt,name=monthlyNewDurationNumber,proto3" json:"monthlyNewDurationNumber,omitempty"` // 当月新增手动扩展时长(天) - MonthlyManualAccountConsumptionNumber int32 `protobuf:"varint,64,opt,name=monthlyManualAccountConsumptionNumber,proto3" json:"monthlyManualAccountConsumptionNumber,omitempty"` // 当月手动扩展账号使用数 - MonthlyManualVideoConsumptionNumber int32 `protobuf:"varint,65,opt,name=monthlyManualVideoConsumptionNumber,proto3" json:"monthlyManualVideoConsumptionNumber,omitempty"` // 当月手动扩展视频使用数 - MonthlyManualImageConsumptionNumber int32 `protobuf:"varint,66,opt,name=monthlyManualImageConsumptionNumber,proto3" json:"monthlyManualImageConsumptionNumber,omitempty"` // 当月手动扩展图文使用数 - MonthlyManualDataAnalysisConsumptionNumber int32 `protobuf:"varint,67,opt,name=monthlyManualDataAnalysisConsumptionNumber,proto3" json:"monthlyManualDataAnalysisConsumptionNumber,omitempty"` // 当月手动扩展数据分析使用数 + MonthlyNewManualAccountNumber int32 `protobuf:"varint,59,opt,name=monthlyNewManualAccountNumber,proto3" json:"monthlyNewManualAccountNumber"` // 当月手动扩展账号新增数 + MonthlyNewManualVideoNumber int32 `protobuf:"varint,60,opt,name=monthlyNewManualVideoNumber,proto3" json:"monthlyNewManualVideoNumber"` // 当月手动扩展视频新增数 + MonthlyNewManualImageNumber int32 `protobuf:"varint,61,opt,name=monthlyNewManualImageNumber,proto3" json:"monthlyNewManualImageNumber"` // 当月手动扩展图文新增数 + MonthlyNewManualDataAnalysisNumber int32 `protobuf:"varint,62,opt,name=monthlyNewManualDataAnalysisNumber,proto3" json:"monthlyNewManualDataAnalysisNumber"` // 当月手动扩展数据分析新增数 + MonthlyNewDurationNumber int32 `protobuf:"varint,63,opt,name=monthlyNewDurationNumber,proto3" json:"monthlyNewDurationNumber"` // 当月新增手动扩展时长(天) + MonthlyManualAccountConsumptionNumber int32 `protobuf:"varint,64,opt,name=monthlyManualAccountConsumptionNumber,proto3" json:"monthlyManualAccountConsumptionNumber"` // 当月手动扩展账号使用数 + MonthlyManualVideoConsumptionNumber int32 `protobuf:"varint,65,opt,name=monthlyManualVideoConsumptionNumber,proto3" json:"monthlyManualVideoConsumptionNumber"` // 当月手动扩展视频使用数 + MonthlyManualImageConsumptionNumber int32 `protobuf:"varint,66,opt,name=monthlyManualImageConsumptionNumber,proto3" json:"monthlyManualImageConsumptionNumber"` // 当月手动扩展图文使用数 + MonthlyManualDataAnalysisConsumptionNumber int32 `protobuf:"varint,67,opt,name=monthlyManualDataAnalysisConsumptionNumber,proto3" json:"monthlyManualDataAnalysisConsumptionNumber"` // 当月手动扩展数据分析使用数 } func (x *BundleBalanceExportItem) Reset() { @@ -7128,11 +7128,11 @@ type BundleBalanceExportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` - UserName string `protobuf:"bytes,2,opt,name=userName,proto3" json:"userName,omitempty"` - ExpiredTimeStart uint64 `protobuf:"varint,3,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart,omitempty"` - ExpiredTimeEnd uint64 `protobuf:"varint,4,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd,omitempty"` - Status uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` + Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month"` + UserName string `protobuf:"bytes,2,opt,name=userName,proto3" json:"userName"` + ExpiredTimeStart uint64 `protobuf:"varint,3,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart"` + ExpiredTimeEnd uint64 `protobuf:"varint,4,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd"` + Status uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` } func (x *BundleBalanceExportReq) Reset() { @@ -7207,8 +7207,8 @@ type BundleBalanceExportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Data []*BundleBalanceExportItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Data []*BundleBalanceExportItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` } func (x *BundleBalanceExportResp) Reset() { @@ -7262,8 +7262,8 @@ type GetBundleBalanceListResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Data []*BundleBalanceItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Data []*BundleBalanceItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` } func (x *GetBundleBalanceListResp) Reset() { @@ -7317,17 +7317,17 @@ type CreateBundleBalanceReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` - OrderUUID string `protobuf:"bytes,2,opt,name=orderUUID,proto3" json:"orderUUID,omitempty"` - AccountNumber int32 `protobuf:"varint,3,opt,name=accountNumber,proto3" json:"accountNumber,omitempty"` - AccountConsumptionNumber int32 `protobuf:"varint,4,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber,omitempty"` - VideoNumber int32 `protobuf:"varint,5,opt,name=videoNumber,proto3" json:"videoNumber,omitempty"` - VideoConsumptionNumber int32 `protobuf:"varint,6,opt,name=videoConsumptionNumber,proto3" json:"videoConsumptionNumber,omitempty"` - ImageNumber int32 `protobuf:"varint,7,opt,name=imageNumber,proto3" json:"imageNumber,omitempty"` - ImageConsumptionNumber int32 `protobuf:"varint,8,opt,name=imageConsumptionNumber,proto3" json:"imageConsumptionNumber,omitempty"` - DataAnalysisNumber int32 `protobuf:"varint,9,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber,omitempty"` - DataAnalysisConsumptionNumber int32 `protobuf:"varint,10,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber,omitempty"` - ExpansionPacksNumber int32 `protobuf:"varint,11,opt,name=expansionPacksNumber,proto3" json:"expansionPacksNumber,omitempty"` + UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` + OrderUUID string `protobuf:"bytes,2,opt,name=orderUUID,proto3" json:"orderUUID"` + AccountNumber int32 `protobuf:"varint,3,opt,name=accountNumber,proto3" json:"accountNumber"` + AccountConsumptionNumber int32 `protobuf:"varint,4,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber"` + VideoNumber int32 `protobuf:"varint,5,opt,name=videoNumber,proto3" json:"videoNumber"` + VideoConsumptionNumber int32 `protobuf:"varint,6,opt,name=videoConsumptionNumber,proto3" json:"videoConsumptionNumber"` + ImageNumber int32 `protobuf:"varint,7,opt,name=imageNumber,proto3" json:"imageNumber"` + ImageConsumptionNumber int32 `protobuf:"varint,8,opt,name=imageConsumptionNumber,proto3" json:"imageConsumptionNumber"` + DataAnalysisNumber int32 `protobuf:"varint,9,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber"` + DataAnalysisConsumptionNumber int32 `protobuf:"varint,10,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber"` + ExpansionPacksNumber int32 `protobuf:"varint,11,opt,name=expansionPacksNumber,proto3" json:"expansionPacksNumber"` } func (x *CreateBundleBalanceReq) Reset() { @@ -7482,18 +7482,18 @@ type AddBundleBalanceReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` - OrderUUID string `protobuf:"bytes,3,opt,name=orderUUID,proto3" json:"orderUUID,omitempty"` - AccountNumber int32 `protobuf:"varint,4,opt,name=accountNumber,proto3" json:"accountNumber,omitempty"` - AccountConsumptionNumber int32 `protobuf:"varint,5,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber,omitempty"` - VideoNumber int32 `protobuf:"varint,6,opt,name=videoNumber,proto3" json:"videoNumber,omitempty"` - VideoConsumptionNumber int32 `protobuf:"varint,7,opt,name=videoConsumptionNumber,proto3" json:"videoConsumptionNumber,omitempty"` - ImageNumber int32 `protobuf:"varint,8,opt,name=imageNumber,proto3" json:"imageNumber,omitempty"` - ImageConsumptionNumber int32 `protobuf:"varint,9,opt,name=imageConsumptionNumber,proto3" json:"imageConsumptionNumber,omitempty"` - DataAnalysisNumber int32 `protobuf:"varint,10,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber,omitempty"` - DataAnalysisConsumptionNumber int32 `protobuf:"varint,11,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber,omitempty"` - ExpansionPacksNumber int32 `protobuf:"varint,12,opt,name=expansionPacksNumber,proto3" json:"expansionPacksNumber,omitempty"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId"` + OrderUUID string `protobuf:"bytes,3,opt,name=orderUUID,proto3" json:"orderUUID"` + AccountNumber int32 `protobuf:"varint,4,opt,name=accountNumber,proto3" json:"accountNumber"` + AccountConsumptionNumber int32 `protobuf:"varint,5,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber"` + VideoNumber int32 `protobuf:"varint,6,opt,name=videoNumber,proto3" json:"videoNumber"` + VideoConsumptionNumber int32 `protobuf:"varint,7,opt,name=videoConsumptionNumber,proto3" json:"videoConsumptionNumber"` + ImageNumber int32 `protobuf:"varint,8,opt,name=imageNumber,proto3" json:"imageNumber"` + ImageConsumptionNumber int32 `protobuf:"varint,9,opt,name=imageConsumptionNumber,proto3" json:"imageConsumptionNumber"` + DataAnalysisNumber int32 `protobuf:"varint,10,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber"` + DataAnalysisConsumptionNumber int32 `protobuf:"varint,11,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber"` + ExpansionPacksNumber int32 `protobuf:"varint,12,opt,name=expansionPacksNumber,proto3" json:"expansionPacksNumber"` } func (x *AddBundleBalanceReq) Reset() { @@ -7617,7 +7617,7 @@ type AddBundleBalanceResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UsedType uint32 `protobuf:"varint,1,opt,name=usedType,proto3" json:"usedType,omitempty"` // 0 套餐内 1 增值 2 手动 + UsedType uint32 `protobuf:"varint,1,opt,name=usedType,proto3" json:"usedType"` // 0 套餐内 1 增值 2 手动 } func (x *AddBundleBalanceResp) Reset() { @@ -7664,17 +7664,17 @@ type GetUsedRecordListReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"` - Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"` - Platform int32 `protobuf:"varint,4,opt,name=platform,proto3" json:"platform,omitempty"` - Type int32 `protobuf:"varint,5,opt,name=type,proto3" json:"type,omitempty"` - WorkTitle string `protobuf:"bytes,6,opt,name=workTitle,proto3" json:"workTitle,omitempty"` - SubmitTimeStart int64 `protobuf:"varint,7,opt,name=submitTimeStart,proto3" json:"submitTimeStart,omitempty"` - SubmitTimeEnd int64 `protobuf:"varint,8,opt,name=submitTimeEnd,proto3" json:"submitTimeEnd,omitempty"` - Page int32 `protobuf:"varint,9,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,10,opt,name=pageSize,proto3" json:"pageSize,omitempty"` - CostType int32 `protobuf:"varint,11,opt,name=costType,proto3" json:"costType,omitempty"` + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user"` + Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator"` + Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account"` + Platform int32 `protobuf:"varint,4,opt,name=platform,proto3" json:"platform"` + Type int32 `protobuf:"varint,5,opt,name=type,proto3" json:"type"` + WorkTitle string `protobuf:"bytes,6,opt,name=workTitle,proto3" json:"workTitle"` + SubmitTimeStart int64 `protobuf:"varint,7,opt,name=submitTimeStart,proto3" json:"submitTimeStart"` + SubmitTimeEnd int64 `protobuf:"varint,8,opt,name=submitTimeEnd,proto3" json:"submitTimeEnd"` + Page int32 `protobuf:"varint,9,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,10,opt,name=pageSize,proto3" json:"pageSize"` + CostType int32 `protobuf:"varint,11,opt,name=costType,proto3" json:"costType"` } func (x *GetUsedRecordListReq) Reset() { @@ -7791,8 +7791,8 @@ type GetUsedRecordListResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Data []*WorkCastItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Data []*WorkCastItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data"` } func (x *GetUsedRecordListResp) Reset() { @@ -7846,22 +7846,22 @@ type WorkCastItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid,omitempty"` // 艺人ID - ArtistName string `protobuf:"bytes,2,opt,name=artistName,proto3" json:"artistName,omitempty"` // 艺人名称 - ArtistPhone string `protobuf:"bytes,3,opt,name=artistPhone,proto3" json:"artistPhone,omitempty"` // 艺人手机号 - WorkUuid string `protobuf:"bytes,4,opt,name=workUuid,proto3" json:"workUuid,omitempty"` // 作品uuid - WorkCategory uint32 `protobuf:"varint,5,opt,name=workCategory,proto3" json:"workCategory,omitempty"` // 1 图文 2 数据分析 - BundleUuid string `protobuf:"bytes,6,opt,name=bundleUuid,proto3" json:"bundleUuid,omitempty"` // 套餐ID uuid - BundleName string `protobuf:"bytes,7,opt,name=bundleName,proto3" json:"bundleName,omitempty"` // 套餐名称 - PlatformIds string `protobuf:"bytes,8,opt,name=platformIds,proto3" json:"platformIds,omitempty"` // 发布平台ID集合 (json 格式字符串) - MediaNames string `protobuf:"bytes,9,opt,name=mediaNames,proto3" json:"mediaNames,omitempty"` // 自媒体账号名称集合 - MediaAccIDs string `protobuf:"bytes,10,opt,name=mediaAccIDs,proto3" json:"mediaAccIDs,omitempty"` // 自媒体账号ID集合 - WorkTitle string `protobuf:"bytes,11,opt,name=workTitle,proto3" json:"workTitle,omitempty"` // 作品标题 - SubmitTime string `protobuf:"bytes,12,opt,name=submitTime,proto3" json:"submitTime,omitempty"` // 提交时间 - OperatorName string `protobuf:"bytes,13,opt,name=operatorName,proto3" json:"operatorName,omitempty"` // 操作人名称 - OperatorPhone string `protobuf:"bytes,14,opt,name=operatorPhone,proto3" json:"operatorPhone,omitempty"` // 操作人手机号 - Status uint32 `protobuf:"varint,15,opt,name=status,proto3" json:"status,omitempty"` // 1 有效 2 失效 - CostType uint32 `protobuf:"varint,16,opt,name=costType,proto3" json:"costType,omitempty"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + ArtistName string `protobuf:"bytes,2,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 + ArtistPhone string `protobuf:"bytes,3,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + WorkUuid string `protobuf:"bytes,4,opt,name=workUuid,proto3" json:"workUuid"` // 作品uuid + WorkCategory uint32 `protobuf:"varint,5,opt,name=workCategory,proto3" json:"workCategory"` // 1 图文 2 数据分析 + BundleUuid string `protobuf:"bytes,6,opt,name=bundleUuid,proto3" json:"bundleUuid"` // 套餐ID uuid + BundleName string `protobuf:"bytes,7,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 + PlatformIds string `protobuf:"bytes,8,opt,name=platformIds,proto3" json:"platformIds"` // 发布平台ID集合 (json 格式字符串) + MediaNames string `protobuf:"bytes,9,opt,name=mediaNames,proto3" json:"mediaNames"` // 自媒体账号名称集合 + MediaAccIDs string `protobuf:"bytes,10,opt,name=mediaAccIDs,proto3" json:"mediaAccIDs"` // 自媒体账号ID集合 + WorkTitle string `protobuf:"bytes,11,opt,name=workTitle,proto3" json:"workTitle"` // 作品标题 + SubmitTime string `protobuf:"bytes,12,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + OperatorName string `protobuf:"bytes,13,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 + OperatorPhone string `protobuf:"bytes,14,opt,name=operatorPhone,proto3" json:"operatorPhone"` // 操作人手机号 + Status uint32 `protobuf:"varint,15,opt,name=status,proto3" json:"status"` // 1 有效 2 失效 + CostType uint32 `protobuf:"varint,16,opt,name=costType,proto3" json:"costType"` } func (x *WorkCastItem) Reset() { @@ -8013,7 +8013,7 @@ type GetImageWorkDetailReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId,omitempty"` + WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId"` } func (x *GetImageWorkDetailReq) Reset() { @@ -8060,7 +8060,7 @@ type GetVedioWorkDetailReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId,omitempty"` + WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId"` } func (x *GetVedioWorkDetailReq) Reset() { @@ -8107,10 +8107,10 @@ type GetImageWorkDetailResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId,omitempty"` - CoverUrl string `protobuf:"bytes,2,opt,name=coverUrl,proto3" json:"coverUrl,omitempty"` - VideoUrl string `protobuf:"bytes,3,opt,name=videoUrl,proto3" json:"videoUrl,omitempty"` - CreatedAt int64 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId"` + CoverUrl string `protobuf:"bytes,2,opt,name=coverUrl,proto3" json:"coverUrl"` + VideoUrl string `protobuf:"bytes,3,opt,name=videoUrl,proto3" json:"videoUrl"` + CreatedAt int64 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt"` } func (x *GetImageWorkDetailResp) Reset() { @@ -8178,9 +8178,9 @@ type GetVedioeWorkDetailResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId,omitempty"` - ImageUrls []string `protobuf:"bytes,2,rep,name=imageUrls,proto3" json:"imageUrls,omitempty"` - CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + WorkId string `protobuf:"bytes,1,opt,name=workId,proto3" json:"workId"` + ImageUrls []string `protobuf:"bytes,2,rep,name=imageUrls,proto3" json:"imageUrls"` + CreatedAt int64 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` } func (x *GetVedioeWorkDetailResp) Reset() { @@ -8241,9 +8241,9 @@ type ToBeComfirmedWorksReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid,omitempty"` - Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` } func (x *ToBeComfirmedWorksReq) Reset() { @@ -8304,20 +8304,20 @@ type WorkItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` - WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid,omitempty"` - Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` - Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` - WorkCategory uint32 `protobuf:"varint,5,opt,name=workCategory,proto3" json:"workCategory,omitempty"` - WorkStatus uint32 `protobuf:"varint,6,opt,name=workStatus,proto3" json:"workStatus,omitempty"` - PlatformIds string `protobuf:"bytes,7,opt,name=platformIds,proto3" json:"platformIds,omitempty"` - MediaNames string `protobuf:"bytes,8,opt,name=mediaNames,proto3" json:"mediaNames,omitempty"` - MediaAccUserIds string `protobuf:"bytes,9,opt,name=mediaAccUserIds,proto3" json:"mediaAccUserIds,omitempty"` - ConfirmedAt int64 `protobuf:"varint,10,opt,name=confirmedAt,proto3" json:"confirmedAt,omitempty"` - CreatedAt int64 `protobuf:"varint,11,opt,name=createdAt,proto3" json:"createdAt,omitempty"` // 提交时间 - ArtistName string `protobuf:"bytes,12,opt,name=artistName,proto3" json:"artistName,omitempty"` - ArtistUuid string `protobuf:"bytes,13,opt,name=artistUuid,proto3" json:"artistUuid,omitempty"` - CostType uint32 `protobuf:"varint,14,opt,name=costType,proto3" json:"costType,omitempty"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title"` + Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content"` + WorkCategory uint32 `protobuf:"varint,5,opt,name=workCategory,proto3" json:"workCategory"` + WorkStatus uint32 `protobuf:"varint,6,opt,name=workStatus,proto3" json:"workStatus"` + PlatformIds string `protobuf:"bytes,7,opt,name=platformIds,proto3" json:"platformIds"` + MediaNames string `protobuf:"bytes,8,opt,name=mediaNames,proto3" json:"mediaNames"` + MediaAccUserIds string `protobuf:"bytes,9,opt,name=mediaAccUserIds,proto3" json:"mediaAccUserIds"` + ConfirmedAt int64 `protobuf:"varint,10,opt,name=confirmedAt,proto3" json:"confirmedAt"` + CreatedAt int64 `protobuf:"varint,11,opt,name=createdAt,proto3" json:"createdAt"` // 提交时间 + ArtistName string `protobuf:"bytes,12,opt,name=artistName,proto3" json:"artistName"` + ArtistUuid string `protobuf:"bytes,13,opt,name=artistUuid,proto3" json:"artistUuid"` + CostType uint32 `protobuf:"varint,14,opt,name=costType,proto3" json:"costType"` } func (x *WorkItem) Reset() { @@ -8455,9 +8455,9 @@ type ToBeComfirmedWorksResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Unconfirmed int64 `protobuf:"varint,2,opt,name=unconfirmed,proto3" json:"unconfirmed,omitempty"` - Data []*WorkItem `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` + Unconfirmed int64 `protobuf:"varint,2,opt,name=unconfirmed,proto3" json:"unconfirmed"` + Data []*WorkItem `protobuf:"bytes,3,rep,name=data,proto3" json:"data"` } func (x *ToBeComfirmedWorksResp) Reset() { @@ -8518,7 +8518,7 @@ type GetBundleBalanceByUserIdReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` } func (x *GetBundleBalanceByUserIdReq) Reset() { @@ -8565,27 +8565,27 @@ type GetBundleBalanceByUserIdResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderUUID string `protobuf:"bytes,1,opt,name=orderUUID,proto3" json:"orderUUID,omitempty"` - BundleUuid string `protobuf:"bytes,2,opt,name=bundleUuid,proto3" json:"bundleUuid,omitempty"` // 套餐ID uuid - BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName,omitempty"` // 套餐名称 - BundleStatus string `protobuf:"bytes,4,opt,name=bundleStatus,proto3" json:"bundleStatus,omitempty"` // 套餐名称 - PayTime int64 `protobuf:"varint,5,opt,name=payTime,proto3" json:"payTime,omitempty"` - ExpiredTime int64 `protobuf:"varint,6,opt,name=expiredTime,proto3" json:"expiredTime,omitempty"` - PaymentAmount string `protobuf:"bytes,7,opt,name=paymentAmount,proto3" json:"paymentAmount,omitempty"` - PaymentType int32 `protobuf:"varint,8,opt,name=paymentType,proto3" json:"paymentType,omitempty"` - AccountNumber int32 `protobuf:"varint,9,opt,name=accountNumber,proto3" json:"accountNumber,omitempty"` - AccountAdditional int32 `protobuf:"varint,10,opt,name=accountAdditional,proto3" json:"accountAdditional,omitempty"` - AccountConsumptionNumber int32 `protobuf:"varint,11,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber,omitempty"` - VideoNumber int32 `protobuf:"varint,12,opt,name=videoNumber,proto3" json:"videoNumber,omitempty"` - VideoAdditional int32 `protobuf:"varint,13,opt,name=videoAdditional,proto3" json:"videoAdditional,omitempty"` - VideoConsumptionNumber int32 `protobuf:"varint,14,opt,name=videoConsumptionNumber,proto3" json:"videoConsumptionNumber,omitempty"` - ImageNumber int32 `protobuf:"varint,15,opt,name=imageNumber,proto3" json:"imageNumber,omitempty"` - ImageAdditional int32 `protobuf:"varint,16,opt,name=imageAdditional,proto3" json:"imageAdditional,omitempty"` - ImageConsumptionNumber int32 `protobuf:"varint,17,opt,name=imageConsumptionNumber,proto3" json:"imageConsumptionNumber,omitempty"` - DataAnalysisNumber int32 `protobuf:"varint,18,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber,omitempty"` - DataAnalysisAdditional int32 `protobuf:"varint,19,opt,name=dataAnalysisAdditional,proto3" json:"dataAnalysisAdditional,omitempty"` - DataAnalysisConsumptionNumber int32 `protobuf:"varint,20,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber,omitempty"` - ExpansionPacksNumber int32 `protobuf:"varint,21,opt,name=expansionPacksNumber,proto3" json:"expansionPacksNumber,omitempty"` + OrderUUID string `protobuf:"bytes,1,opt,name=orderUUID,proto3" json:"orderUUID"` + BundleUuid string `protobuf:"bytes,2,opt,name=bundleUuid,proto3" json:"bundleUuid"` // 套餐ID uuid + BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 + BundleStatus string `protobuf:"bytes,4,opt,name=bundleStatus,proto3" json:"bundleStatus"` // 套餐名称 + PayTime int64 `protobuf:"varint,5,opt,name=payTime,proto3" json:"payTime"` + ExpiredTime int64 `protobuf:"varint,6,opt,name=expiredTime,proto3" json:"expiredTime"` + PaymentAmount string `protobuf:"bytes,7,opt,name=paymentAmount,proto3" json:"paymentAmount"` + PaymentType int32 `protobuf:"varint,8,opt,name=paymentType,proto3" json:"paymentType"` + AccountNumber int32 `protobuf:"varint,9,opt,name=accountNumber,proto3" json:"accountNumber"` + AccountAdditional int32 `protobuf:"varint,10,opt,name=accountAdditional,proto3" json:"accountAdditional"` + AccountConsumptionNumber int32 `protobuf:"varint,11,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber"` + VideoNumber int32 `protobuf:"varint,12,opt,name=videoNumber,proto3" json:"videoNumber"` + VideoAdditional int32 `protobuf:"varint,13,opt,name=videoAdditional,proto3" json:"videoAdditional"` + VideoConsumptionNumber int32 `protobuf:"varint,14,opt,name=videoConsumptionNumber,proto3" json:"videoConsumptionNumber"` + ImageNumber int32 `protobuf:"varint,15,opt,name=imageNumber,proto3" json:"imageNumber"` + ImageAdditional int32 `protobuf:"varint,16,opt,name=imageAdditional,proto3" json:"imageAdditional"` + ImageConsumptionNumber int32 `protobuf:"varint,17,opt,name=imageConsumptionNumber,proto3" json:"imageConsumptionNumber"` + DataAnalysisNumber int32 `protobuf:"varint,18,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber"` + DataAnalysisAdditional int32 `protobuf:"varint,19,opt,name=dataAnalysisAdditional,proto3" json:"dataAnalysisAdditional"` + DataAnalysisConsumptionNumber int32 `protobuf:"varint,20,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber"` + ExpansionPacksNumber int32 `protobuf:"varint,21,opt,name=expansionPacksNumber,proto3" json:"expansionPacksNumber"` } func (x *GetBundleBalanceByUserIdResp) Reset() { @@ -8772,7 +8772,7 @@ type OnlyAddValueListByOrderNoRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo,omitempty"` + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` } func (x *OnlyAddValueListByOrderNoRequest) Reset() { @@ -8819,7 +8819,7 @@ type OnlyAddValueListByOrderNoResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AddBundleInfos []*AddBundleInfo `protobuf:"bytes,1,rep,name=AddBundleInfos,proto3" json:"AddBundleInfos,omitempty"` + AddBundleInfos []*AddBundleInfo `protobuf:"bytes,1,rep,name=AddBundleInfos,proto3" json:"AddBundleInfos"` } func (x *OnlyAddValueListByOrderNoResp) Reset() { @@ -8866,11 +8866,11 @@ type AddBundleInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CustomerID string `protobuf:"bytes,1,opt,name=customerID,proto3" json:"customerID,omitempty"` - Amount float32 `protobuf:"fixed32,2,opt,name=amount,proto3" json:"amount,omitempty"` - CheckOutSessionId string `protobuf:"bytes,3,opt,name=checkOutSessionId,proto3" json:"checkOutSessionId,omitempty"` - OrderNo string `protobuf:"bytes,4,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - PaymentStatus int32 `protobuf:"varint,5,opt,name=paymentStatus,proto3" json:"paymentStatus,omitempty"` + CustomerID string `protobuf:"bytes,1,opt,name=customerID,proto3" json:"customerID"` + Amount float32 `protobuf:"fixed32,2,opt,name=amount,proto3" json:"amount"` + CheckOutSessionId string `protobuf:"bytes,3,opt,name=checkOutSessionId,proto3" json:"checkOutSessionId"` + OrderNo string `protobuf:"bytes,4,opt,name=orderNo,proto3" json:"orderNo"` + PaymentStatus int32 `protobuf:"varint,5,opt,name=paymentStatus,proto3" json:"paymentStatus"` } func (x *AddBundleInfo) Reset() { @@ -8945,9 +8945,9 @@ type UpdateStatusAndPayTimeBySerialNumber struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SerialNumber string `protobuf:"bytes,1,opt,name=serialNumber,proto3" json:"serialNumber,omitempty"` - PayTime string `protobuf:"bytes,2,opt,name=payTime,proto3" json:"payTime,omitempty"` - PaymentStatus int32 `protobuf:"varint,3,opt,name=paymentStatus,proto3" json:"paymentStatus,omitempty"` + SerialNumber string `protobuf:"bytes,1,opt,name=serialNumber,proto3" json:"serialNumber"` + PayTime string `protobuf:"bytes,2,opt,name=payTime,proto3" json:"payTime"` + PaymentStatus int32 `protobuf:"varint,3,opt,name=paymentStatus,proto3" json:"paymentStatus"` } func (x *UpdateStatusAndPayTimeBySerialNumber) Reset() { @@ -9008,7 +9008,7 @@ type ConfirmWorkReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid,omitempty"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` } func (x *ConfirmWorkReq) Reset() { @@ -9093,7 +9093,7 @@ type AutoCreateUserAndOrderRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Num int32 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` // 处理数量 + Num int32 `protobuf:"varint,1,opt,name=num,proto3" json:"num"` // 处理数量 } func (x *AutoCreateUserAndOrderRequest) Reset() { @@ -9140,7 +9140,7 @@ type UnfinishedInfos struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UnfinishedInfos []*UnfinishedInfo `protobuf:"bytes,1,rep,name=unfinishedInfos,proto3" json:"unfinishedInfos,omitempty"` + UnfinishedInfos []*UnfinishedInfo `protobuf:"bytes,1,rep,name=unfinishedInfos,proto3" json:"unfinishedInfos"` } func (x *UnfinishedInfos) Reset() { @@ -9187,25 +9187,25 @@ type UnfinishedInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - UserNum string `protobuf:"bytes,2,opt,name=userNum,proto3" json:"userNum,omitempty"` - UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName,omitempty"` - UserTelArea string `protobuf:"bytes,4,opt,name=userTelArea,proto3" json:"userTelArea,omitempty"` - UserTel string `protobuf:"bytes,5,opt,name=userTel,proto3" json:"userTel,omitempty"` - UserSex string `protobuf:"bytes,6,opt,name=userSex,proto3" json:"userSex,omitempty"` - Nationality string `protobuf:"bytes,7,opt,name=nationality,proto3" json:"nationality,omitempty"` - PlaceOfResidence string `protobuf:"bytes,8,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` - DocumentType int32 `protobuf:"varint,9,opt,name=documentType,proto3" json:"documentType,omitempty"` - UserIdCardFrontUrl string `protobuf:"bytes,10,opt,name=userIdCardFrontUrl,proto3" json:"userIdCardFrontUrl,omitempty"` - UserIdCardReverseUrl string `protobuf:"bytes,11,opt,name=userIdCardReverseUrl,proto3" json:"userIdCardReverseUrl,omitempty"` - UserIdCardValidity string `protobuf:"bytes,12,opt,name=userIdCardValidity,proto3" json:"userIdCardValidity,omitempty"` - OrderNo string `protobuf:"bytes,13,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - OrderPayAmount string `protobuf:"bytes,14,opt,name=orderPayAmount,proto3" json:"orderPayAmount,omitempty"` - OrderSettlementAmount string `protobuf:"bytes,15,opt,name=orderSettlementAmount,proto3" json:"orderSettlementAmount,omitempty"` - OrderFeeAmount string `protobuf:"bytes,16,opt,name=orderFeeAmount,proto3" json:"orderFeeAmount,omitempty"` - OrderPayCurrency string `protobuf:"bytes,17,opt,name=orderPayCurrency,proto3" json:"orderPayCurrency,omitempty"` - OrderAccountCurrency string `protobuf:"bytes,18,opt,name=orderAccountCurrency,proto3" json:"orderAccountCurrency,omitempty"` - PayTime string `protobuf:"bytes,19,opt,name=payTime,proto3" json:"payTime,omitempty"` + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` + UserNum string `protobuf:"bytes,2,opt,name=userNum,proto3" json:"userNum"` + UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName"` + UserTelArea string `protobuf:"bytes,4,opt,name=userTelArea,proto3" json:"userTelArea"` + UserTel string `protobuf:"bytes,5,opt,name=userTel,proto3" json:"userTel"` + UserSex string `protobuf:"bytes,6,opt,name=userSex,proto3" json:"userSex"` + Nationality string `protobuf:"bytes,7,opt,name=nationality,proto3" json:"nationality"` + PlaceOfResidence string `protobuf:"bytes,8,opt,name=placeOfResidence,proto3" json:"placeOfResidence"` + DocumentType int32 `protobuf:"varint,9,opt,name=documentType,proto3" json:"documentType"` + UserIdCardFrontUrl string `protobuf:"bytes,10,opt,name=userIdCardFrontUrl,proto3" json:"userIdCardFrontUrl"` + UserIdCardReverseUrl string `protobuf:"bytes,11,opt,name=userIdCardReverseUrl,proto3" json:"userIdCardReverseUrl"` + UserIdCardValidity string `protobuf:"bytes,12,opt,name=userIdCardValidity,proto3" json:"userIdCardValidity"` + OrderNo string `protobuf:"bytes,13,opt,name=orderNo,proto3" json:"orderNo"` + OrderPayAmount string `protobuf:"bytes,14,opt,name=orderPayAmount,proto3" json:"orderPayAmount"` + OrderSettlementAmount string `protobuf:"bytes,15,opt,name=orderSettlementAmount,proto3" json:"orderSettlementAmount"` + OrderFeeAmount string `protobuf:"bytes,16,opt,name=orderFeeAmount,proto3" json:"orderFeeAmount"` + OrderPayCurrency string `protobuf:"bytes,17,opt,name=orderPayCurrency,proto3" json:"orderPayCurrency"` + OrderAccountCurrency string `protobuf:"bytes,18,opt,name=orderAccountCurrency,proto3" json:"orderAccountCurrency"` + PayTime string `protobuf:"bytes,19,opt,name=payTime,proto3" json:"payTime"` } func (x *UnfinishedInfo) Reset() { @@ -9378,7 +9378,7 @@ type SoftDeleteUnfinishedInfoRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID"` } func (x *SoftDeleteUnfinishedInfoRequest) Reset() { @@ -9425,7 +9425,7 @@ type BundleActivateReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ids []uint32 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` // 激活用户的id + Ids []uint32 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids"` // 激活用户的id } func (x *BundleActivateReq) Reset() { @@ -9511,11 +9511,12 @@ type TaskQueryRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` // 艺人姓名、编号、手机号搜索关键词 - Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` // 页码 - PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` // 每页数量 - SortBy string `protobuf:"bytes,4,opt,name=sortBy,proto3" json:"sortBy,omitempty"` // 排序字段 - SortType string `protobuf:"bytes,5,opt,name=sortType,proto3" json:"sortType,omitempty"` // 排序类型 asc/desc + Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"` // 艺人姓名、编号、手机号搜索关键词 + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + SortBy string `protobuf:"bytes,4,opt,name=sortBy,proto3" json:"sortBy"` // 排序字段 + SortType string `protobuf:"bytes,5,opt,name=sortType,proto3" json:"sortType"` // 排序类型 asc/desc + LastTaskAssignee string `protobuf:"bytes,6,opt,name=lastTaskAssignee,proto3" json:"lastTaskAssignee"` // 最近一次指派人筛选(模糊匹配) } func (x *TaskQueryRequest) Reset() { @@ -9585,15 +9586,22 @@ func (x *TaskQueryRequest) GetSortType() string { return "" } +func (x *TaskQueryRequest) GetLastTaskAssignee() string { + if x != nil { + return x.LastTaskAssignee + } + return "" +} + type TaskQueryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tasks []*TaskManagementInfo `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` - Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` - Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Tasks []*TaskManagementInfo `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` } func (x *TaskQueryResponse) Reset() { @@ -9661,16 +9669,17 @@ type TaskManagementInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum,omitempty"` // 艺人编号 - TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` // 手机号 - ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName,omitempty"` // 艺人姓名 - PendingVideoCount int32 `protobuf:"varint,4,opt,name=pendingVideoCount,proto3" json:"pendingVideoCount,omitempty"` // 待发数据分析数量 - PendingPostCount int32 `protobuf:"varint,5,opt,name=pendingPostCount,proto3" json:"pendingPostCount,omitempty"` // 待发图文数量 - PendingDataCount int32 `protobuf:"varint,6,opt,name=pendingDataCount,proto3" json:"pendingDataCount,omitempty"` // 待发数据数量 - ProgressTaskCount int32 `protobuf:"varint,7,opt,name=progressTaskCount,proto3" json:"progressTaskCount,omitempty"` // 进行中任务数量 - CompleteTaskCount int32 `protobuf:"varint,8,opt,name=completeTaskCount,proto3" json:"completeTaskCount,omitempty"` // 已完成任务数量 - LastTaskAssignee string `protobuf:"bytes,9,opt,name=lastTaskAssignee,proto3" json:"lastTaskAssignee,omitempty"` // 最后一次任务指派人 - TaskAssigneeNum string `protobuf:"bytes,10,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum,omitempty"` // 任务指派人账号 + SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` // 手机号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人姓名 + PendingVideoCount int32 `protobuf:"varint,4,opt,name=pendingVideoCount,proto3" json:"pendingVideoCount"` // 待发数据分析数量 + PendingPostCount int32 `protobuf:"varint,5,opt,name=pendingPostCount,proto3" json:"pendingPostCount"` // 待发图文数量 + PendingDataCount int32 `protobuf:"varint,6,opt,name=pendingDataCount,proto3" json:"pendingDataCount"` // 待发数据数量 + ProgressTaskCount int32 `protobuf:"varint,7,opt,name=progressTaskCount,proto3" json:"progressTaskCount"` // 进行中任务数量 + CompleteTaskCount int32 `protobuf:"varint,8,opt,name=completeTaskCount,proto3" json:"completeTaskCount"` // 已完成任务数量 + LastTaskAssignee string `protobuf:"bytes,9,opt,name=lastTaskAssignee,proto3" json:"lastTaskAssignee"` // 最后一次任务指派人 + TaskAssigneeNum string `protobuf:"bytes,10,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` // 任务指派人账号 + PendingVideoScriptCount int32 `protobuf:"varint,11,opt,name=pendingVideoScriptCount,proto3" json:"pendingVideoScriptCount"` // 待发视频脚本数量 } func (x *TaskManagementInfo) Reset() { @@ -9775,22 +9784,31 @@ func (x *TaskManagementInfo) GetTaskAssigneeNum() string { return "" } +func (x *TaskManagementInfo) GetPendingVideoScriptCount() int32 { + if x != nil { + return x.PendingVideoScriptCount + } + return 0 +} + // 指派任务 type TaskAssignRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum,omitempty"` // 艺人编号 - TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` // 艺人手机号 - ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName,omitempty"` // 艺人姓名 - TaskAssignee string `protobuf:"bytes,4,opt,name=taskAssignee,proto3" json:"taskAssignee,omitempty"` // 任务指派人 - TaskAssigneeNum string `protobuf:"bytes,5,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum,omitempty"` // 任务指派人账号 - Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator,omitempty"` // 操作人 - OperatorNum string `protobuf:"bytes,7,opt,name=operatorNum,proto3" json:"operatorNum,omitempty"` // 操作人账号 - AssignVideoCount int32 `protobuf:"varint,8,opt,name=assignVideoCount,proto3" json:"assignVideoCount,omitempty"` // 指派数据分析数 - AssignPostCount int32 `protobuf:"varint,9,opt,name=assignPostCount,proto3" json:"assignPostCount,omitempty"` // 指派图文数 - AssignDataCount int32 `protobuf:"varint,10,opt,name=assignDataCount,proto3" json:"assignDataCount,omitempty"` // 指派数据数 + SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` // 艺人手机号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人姓名 + TaskAssignee string `protobuf:"bytes,4,opt,name=taskAssignee,proto3" json:"taskAssignee"` // 任务指派人 + TaskAssigneeNum string `protobuf:"bytes,5,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` // 任务指派人账号 + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` // 操作人 + OperatorNum string `protobuf:"bytes,7,opt,name=operatorNum,proto3" json:"operatorNum"` // 操作人账号 + AssignVideoCount int32 `protobuf:"varint,8,opt,name=assignVideoCount,proto3" json:"assignVideoCount"` // 指派数据分析数 + AssignPostCount int32 `protobuf:"varint,9,opt,name=assignPostCount,proto3" json:"assignPostCount"` // 指派图文数 + AssignDataCount int32 `protobuf:"varint,10,opt,name=assignDataCount,proto3" json:"assignDataCount"` // 指派数据数 + TaskBatch string `protobuf:"bytes,11,opt,name=taskBatch,proto3" json:"taskBatch"` // 任务批次 + AssignVideoScriptCount int32 `protobuf:"varint,12,opt,name=assignVideoScriptCount,proto3" json:"assignVideoScriptCount"` // 指派视频脚本数 } func (x *TaskAssignRequest) Reset() { @@ -9895,22 +9913,36 @@ func (x *TaskAssignRequest) GetAssignDataCount() int32 { return 0 } +func (x *TaskAssignRequest) GetTaskBatch() string { + if x != nil { + return x.TaskBatch + } + return "" +} + +func (x *TaskAssignRequest) GetAssignVideoScriptCount() int32 { + if x != nil { + return x.AssignVideoScriptCount + } + return 0 +} + // 修改待发数量 type UpdatePendingCountRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum,omitempty"` // 艺人编号 - TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` // 艺人手机号 - ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName,omitempty"` // 艺人姓名 - PendingVideoCount int32 `protobuf:"varint,4,opt,name=pendingVideoCount,proto3" json:"pendingVideoCount,omitempty"` // 待发数据分析数量 - PendingPostCount int32 `protobuf:"varint,5,opt,name=pendingPostCount,proto3" json:"pendingPostCount,omitempty"` // 待发图文数量 - PendingDataCount int32 `protobuf:"varint,6,opt,name=pendingDataCount,proto3" json:"pendingDataCount,omitempty"` // 待发数据数量 - Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"` // 操作人 - OperatorNum string `protobuf:"bytes,8,opt,name=operatorNum,proto3" json:"operatorNum,omitempty"` // 操作人账号 - TaskAssignee string `protobuf:"bytes,9,opt,name=taskAssignee,proto3" json:"taskAssignee,omitempty"` // 任务指派人 - TaskAssigneeNum string `protobuf:"bytes,10,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum,omitempty"` // 任务指派人账号 + SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` // 艺人手机号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人姓名 + PendingVideoCount int32 `protobuf:"varint,4,opt,name=pendingVideoCount,proto3" json:"pendingVideoCount"` // 待发数据分析数量 + PendingPostCount int32 `protobuf:"varint,5,opt,name=pendingPostCount,proto3" json:"pendingPostCount"` // 待发图文数量 + PendingDataCount int32 `protobuf:"varint,6,opt,name=pendingDataCount,proto3" json:"pendingDataCount"` // 待发数据数量 + Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` // 操作人 + OperatorNum string `protobuf:"bytes,8,opt,name=operatorNum,proto3" json:"operatorNum"` // 操作人账号 + TaskAssignee string `protobuf:"bytes,9,opt,name=taskAssignee,proto3" json:"taskAssignee"` // 任务指派人 + TaskAssigneeNum string `protobuf:"bytes,10,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` // 任务指派人账号 } func (x *UpdatePendingCountRequest) Reset() { @@ -10021,7 +10053,7 @@ type RecentAssignRecordsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` // 查询数量限制 + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit"` // 查询数量限制 } func (x *RecentAssignRecordsRequest) Reset() { @@ -10068,7 +10100,7 @@ type RecentAssignRecordsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OperatorList []string `protobuf:"bytes,1,rep,name=operatorList,proto3" json:"operatorList,omitempty"` + OperatorList []string `protobuf:"bytes,1,rep,name=operatorList,proto3" json:"operatorList"` } func (x *RecentAssignRecordsResponse) Reset() { @@ -10116,17 +10148,18 @@ type EmployeeTaskQueryRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TaskAssigneeNum string `protobuf:"bytes,1,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum,omitempty"` // 被指派人账号 - Keyword string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"` // 艺人姓名、编号、手机号搜索关键词 - Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"` // 操作人 - SortBy string `protobuf:"bytes,4,opt,name=sortBy,proto3" json:"sortBy,omitempty"` // 排序字段 - StartTime string `protobuf:"bytes,5,opt,name=startTime,proto3" json:"startTime,omitempty"` // 指派开始时间 - EndTime string `protobuf:"bytes,6,opt,name=endTime,proto3" json:"endTime,omitempty"` // 指派结束时间 - StartCompleteTime string `protobuf:"bytes,7,opt,name=startCompleteTime,proto3" json:"startCompleteTime,omitempty"` // 开始完成时间 - EndCompleteTime string `protobuf:"bytes,8,opt,name=endCompleteTime,proto3" json:"endCompleteTime,omitempty"` // 结束完成时间 - Status int32 `protobuf:"varint,9,opt,name=status,proto3" json:"status,omitempty"` // 反馈完成状态 - Page int32 `protobuf:"varint,10,opt,name=page,proto3" json:"page,omitempty"` // 页码 - PageSize int32 `protobuf:"varint,11,opt,name=pageSize,proto3" json:"pageSize,omitempty"` // 每页数量 + TaskAssigneeNum string `protobuf:"bytes,1,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` // 被指派人账号 + Keyword string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword"` // 艺人姓名、编号、手机号搜索关键词 + Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator"` // 操作人 + SortBy string `protobuf:"bytes,4,opt,name=sortBy,proto3" json:"sortBy"` // 排序字段 + StartTime string `protobuf:"bytes,5,opt,name=startTime,proto3" json:"startTime"` // 指派开始时间 + EndTime string `protobuf:"bytes,6,opt,name=endTime,proto3" json:"endTime"` // 指派结束时间 + StartCompleteTime string `protobuf:"bytes,7,opt,name=startCompleteTime,proto3" json:"startCompleteTime"` // 开始完成时间 + EndCompleteTime string `protobuf:"bytes,8,opt,name=endCompleteTime,proto3" json:"endCompleteTime"` // 结束完成时间 + Status int32 `protobuf:"varint,9,opt,name=status,proto3" json:"status"` // 反馈完成状态 + Page int32 `protobuf:"varint,10,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,11,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + TaskBatch string `protobuf:"bytes,12,opt,name=taskBatch,proto3" json:"taskBatch"` // 任务批次 } func (x *EmployeeTaskQueryRequest) Reset() { @@ -10238,15 +10271,22 @@ func (x *EmployeeTaskQueryRequest) GetPageSize() int32 { return 0 } +func (x *EmployeeTaskQueryRequest) GetTaskBatch() string { + if x != nil { + return x.TaskBatch + } + return "" +} + type EmployeeTaskQueryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Records []*TaskAssignRecordInfo `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` - Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` - Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Records []*TaskAssignRecordInfo `protobuf:"bytes,1,rep,name=records,proto3" json:"records"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` } func (x *EmployeeTaskQueryResponse) Reset() { @@ -10315,23 +10355,25 @@ type TaskAssignRecordInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID,omitempty"` // 指派记录UUID - SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum,omitempty"` // 艺人编号 - TelNum string `protobuf:"bytes,3,opt,name=telNum,proto3" json:"telNum,omitempty"` // 艺人手机号 - ArtistName string `protobuf:"bytes,4,opt,name=artistName,proto3" json:"artistName,omitempty"` // 艺人姓名 - Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` // 反馈完成状态 - ActualStatus int32 `protobuf:"varint,6,opt,name=actualStatus,proto3" json:"actualStatus,omitempty"` // 实际完成状态 - CompleteTime string `protobuf:"bytes,7,opt,name=completeTime,proto3" json:"completeTime,omitempty"` // 反馈完成时间 - OperatorType int32 `protobuf:"varint,8,opt,name=operatorType,proto3" json:"operatorType,omitempty"` // 操作类型 - Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator,omitempty"` // 操作人 - OperatorNum string `protobuf:"bytes,10,opt,name=operatorNum,proto3" json:"operatorNum,omitempty"` // 操作人账号 - OperatorTime string `protobuf:"bytes,11,opt,name=operatorTime,proto3" json:"operatorTime,omitempty"` // 操作时间 - TaskAssignee string `protobuf:"bytes,12,opt,name=taskAssignee,proto3" json:"taskAssignee,omitempty"` // 任务指派人 - TaskAssigneeNum string `protobuf:"bytes,13,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum,omitempty"` // 任务指派人账号 - PendingVideoCount int32 `protobuf:"varint,14,opt,name=pendingVideoCount,proto3" json:"pendingVideoCount,omitempty"` // 待发数据分析数量 - PendingPostCount int32 `protobuf:"varint,15,opt,name=pendingPostCount,proto3" json:"pendingPostCount,omitempty"` // 待发图文数量 - PendingDataCount int32 `protobuf:"varint,16,opt,name=pendingDataCount,proto3" json:"pendingDataCount,omitempty"` // 待发数据数量 - UpdatedAt string `protobuf:"bytes,17,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` // 更新时间 + AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID"` // 指派记录UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + TelNum string `protobuf:"bytes,3,opt,name=telNum,proto3" json:"telNum"` // 艺人手机号 + ArtistName string `protobuf:"bytes,4,opt,name=artistName,proto3" json:"artistName"` // 艺人姓名 + Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status"` // 反馈完成状态 + ActualStatus int32 `protobuf:"varint,6,opt,name=actualStatus,proto3" json:"actualStatus"` // 实际完成状态 + CompleteTime string `protobuf:"bytes,7,opt,name=completeTime,proto3" json:"completeTime"` // 反馈完成时间 + OperatorType int32 `protobuf:"varint,8,opt,name=operatorType,proto3" json:"operatorType"` // 操作类型 + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` // 操作人 + OperatorNum string `protobuf:"bytes,10,opt,name=operatorNum,proto3" json:"operatorNum"` // 操作人账号 + OperatorTime string `protobuf:"bytes,11,opt,name=operatorTime,proto3" json:"operatorTime"` // 操作时间 + TaskAssignee string `protobuf:"bytes,12,opt,name=taskAssignee,proto3" json:"taskAssignee"` // 任务指派人 + TaskAssigneeNum string `protobuf:"bytes,13,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` // 任务指派人账号 + PendingVideoCount int32 `protobuf:"varint,14,opt,name=pendingVideoCount,proto3" json:"pendingVideoCount"` // 待发数据分析数量 + PendingPostCount int32 `protobuf:"varint,15,opt,name=pendingPostCount,proto3" json:"pendingPostCount"` // 待发图文数量 + PendingDataCount int32 `protobuf:"varint,16,opt,name=pendingDataCount,proto3" json:"pendingDataCount"` // 待发数据数量 + UpdatedAt string `protobuf:"bytes,17,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + TaskBatch string `protobuf:"bytes,18,opt,name=taskBatch,proto3" json:"taskBatch"` // 任务批次 + PendingVideoScriptCount int32 `protobuf:"varint,19,opt,name=pendingVideoScriptCount,proto3" json:"pendingVideoScriptCount"` // 待发视频脚本数量 } func (x *TaskAssignRecordInfo) Reset() { @@ -10485,20 +10527,217 @@ func (x *TaskAssignRecordInfo) GetUpdatedAt() string { return "" } +func (x *TaskAssignRecordInfo) GetTaskBatch() string { + if x != nil { + return x.TaskBatch + } + return "" +} + +func (x *TaskAssignRecordInfo) GetPendingVideoScriptCount() int32 { + if x != nil { + return x.PendingVideoScriptCount + } + return 0 +} + +// 批量指派任务(仅写入操作记录) +type BatchAssignTaskItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` // 艺人手机号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人姓名 + TaskAssignee string `protobuf:"bytes,4,opt,name=taskAssignee,proto3" json:"taskAssignee"` // 任务指派人 + TaskAssigneeNum string `protobuf:"bytes,5,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` // 任务指派人账号 + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` // 操作人 + OperatorNum string `protobuf:"bytes,7,opt,name=operatorNum,proto3" json:"operatorNum"` // 操作人账号 + AssignVideoCount int32 `protobuf:"varint,8,opt,name=assignVideoCount,proto3" json:"assignVideoCount"` // 指派视频数 + AssignPostCount int32 `protobuf:"varint,9,opt,name=assignPostCount,proto3" json:"assignPostCount"` // 指派图文数 + AssignDataCount int32 `protobuf:"varint,10,opt,name=assignDataCount,proto3" json:"assignDataCount"` // 指派数据数 + TaskBatch string `protobuf:"bytes,11,opt,name=taskBatch,proto3" json:"taskBatch"` // 任务批次 + AssignVideoScriptCount int32 `protobuf:"varint,12,opt,name=assignVideoScriptCount,proto3" json:"assignVideoScriptCount"` // 指派视频脚本数 +} + +func (x *BatchAssignTaskItem) Reset() { + *x = BatchAssignTaskItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchAssignTaskItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchAssignTaskItem) ProtoMessage() {} + +func (x *BatchAssignTaskItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[105] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchAssignTaskItem.ProtoReflect.Descriptor instead. +func (*BatchAssignTaskItem) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{105} +} + +func (x *BatchAssignTaskItem) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *BatchAssignTaskItem) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *BatchAssignTaskItem) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *BatchAssignTaskItem) GetTaskAssignee() string { + if x != nil { + return x.TaskAssignee + } + return "" +} + +func (x *BatchAssignTaskItem) GetTaskAssigneeNum() string { + if x != nil { + return x.TaskAssigneeNum + } + return "" +} + +func (x *BatchAssignTaskItem) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *BatchAssignTaskItem) GetOperatorNum() string { + if x != nil { + return x.OperatorNum + } + return "" +} + +func (x *BatchAssignTaskItem) GetAssignVideoCount() int32 { + if x != nil { + return x.AssignVideoCount + } + return 0 +} + +func (x *BatchAssignTaskItem) GetAssignPostCount() int32 { + if x != nil { + return x.AssignPostCount + } + return 0 +} + +func (x *BatchAssignTaskItem) GetAssignDataCount() int32 { + if x != nil { + return x.AssignDataCount + } + return 0 +} + +func (x *BatchAssignTaskItem) GetTaskBatch() string { + if x != nil { + return x.TaskBatch + } + return "" +} + +func (x *BatchAssignTaskItem) GetAssignVideoScriptCount() int32 { + if x != nil { + return x.AssignVideoScriptCount + } + return 0 +} + +type BatchAssignTaskRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Items []*BatchAssignTaskItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items"` // 批量指派项 +} + +func (x *BatchAssignTaskRequest) Reset() { + *x = BatchAssignTaskRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchAssignTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchAssignTaskRequest) ProtoMessage() {} + +func (x *BatchAssignTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[106] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchAssignTaskRequest.ProtoReflect.Descriptor instead. +func (*BatchAssignTaskRequest) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{106} +} + +func (x *BatchAssignTaskRequest) GetItems() []*BatchAssignTaskItem { + if x != nil { + return x.Items + } + return nil +} + // 手动完成任务 type CompleteTaskManuallyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID,omitempty"` // 指派记录UUID - TaskAssigneeNum string `protobuf:"bytes,2,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum,omitempty"` // 被指派完成该任务人的账号 + AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID"` // 指派记录UUID + TaskAssigneeNum string `protobuf:"bytes,2,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` // 被指派完成该任务人的账号 } func (x *CompleteTaskManuallyRequest) Reset() { *x = CompleteTaskManuallyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[105] + mi := &file_pb_bundle_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10511,7 +10750,7 @@ func (x *CompleteTaskManuallyRequest) String() string { func (*CompleteTaskManuallyRequest) ProtoMessage() {} func (x *CompleteTaskManuallyRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[105] + mi := &file_pb_bundle_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10524,7 +10763,7 @@ func (x *CompleteTaskManuallyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CompleteTaskManuallyRequest.ProtoReflect.Descriptor instead. func (*CompleteTaskManuallyRequest) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{105} + return file_pb_bundle_proto_rawDescGZIP(), []int{107} } func (x *CompleteTaskManuallyRequest) GetAssignRecordsUUID() string { @@ -10541,23 +10780,166 @@ func (x *CompleteTaskManuallyRequest) GetTaskAssigneeNum() string { return "" } +// 终止任务请求(根据指派记录UUID) +type TerminateTaskByUUIDRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID"` // 指派记录UUID +} + +func (x *TerminateTaskByUUIDRequest) Reset() { + *x = TerminateTaskByUUIDRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TerminateTaskByUUIDRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateTaskByUUIDRequest) ProtoMessage() {} + +func (x *TerminateTaskByUUIDRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[108] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminateTaskByUUIDRequest.ProtoReflect.Descriptor instead. +func (*TerminateTaskByUUIDRequest) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{108} +} + +func (x *TerminateTaskByUUIDRequest) GetAssignRecordsUUID() string { + if x != nil { + return x.AssignRecordsUUID + } + return "" +} + +// 根据指派记录UUID查询实际完成状态 +type GetTaskActualStatusByUUIDRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID"` // 指派记录UUID +} + +func (x *GetTaskActualStatusByUUIDRequest) Reset() { + *x = GetTaskActualStatusByUUIDRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTaskActualStatusByUUIDRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTaskActualStatusByUUIDRequest) ProtoMessage() {} + +func (x *GetTaskActualStatusByUUIDRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[109] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTaskActualStatusByUUIDRequest.ProtoReflect.Descriptor instead. +func (*GetTaskActualStatusByUUIDRequest) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{109} +} + +func (x *GetTaskActualStatusByUUIDRequest) GetAssignRecordsUUID() string { + if x != nil { + return x.AssignRecordsUUID + } + return "" +} + +type GetTaskActualStatusByUUIDResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActualStatus int32 `protobuf:"varint,1,opt,name=actualStatus,proto3" json:"actualStatus"` // 实际完成状态 1:未完成 2:完成 3:已中止 +} + +func (x *GetTaskActualStatusByUUIDResponse) Reset() { + *x = GetTaskActualStatusByUUIDResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTaskActualStatusByUUIDResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTaskActualStatusByUUIDResponse) ProtoMessage() {} + +func (x *GetTaskActualStatusByUUIDResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[110] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTaskActualStatusByUUIDResponse.ProtoReflect.Descriptor instead. +func (*GetTaskActualStatusByUUIDResponse) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{110} +} + +func (x *GetTaskActualStatusByUUIDResponse) GetActualStatus() int32 { + if x != nil { + return x.ActualStatus + } + return 0 +} + // 更新任务进度 type UpdateTaskProgressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID,omitempty"` // 指派记录UUID(可选) - EmployeeName string `protobuf:"bytes,2,opt,name=employeeName,proto3" json:"employeeName,omitempty"` // 员工姓名(必要) - EmployeeNum string `protobuf:"bytes,3,opt,name=employeeNum,proto3" json:"employeeNum,omitempty"` // 员工工号(必要) - TaskType string `protobuf:"bytes,4,opt,name=taskType,proto3" json:"taskType,omitempty"` // 任务类型: video/post/data - CompleteCount int32 `protobuf:"varint,5,opt,name=completeCount,proto3" json:"completeCount,omitempty"` // 完成数量 + AssignRecordsUUID string `protobuf:"bytes,1,opt,name=assignRecordsUUID,proto3" json:"assignRecordsUUID"` // 指派记录UUID(可选) + EmployeeName string `protobuf:"bytes,2,opt,name=employeeName,proto3" json:"employeeName"` // 员工姓名(必要) + EmployeeNum string `protobuf:"bytes,3,opt,name=employeeNum,proto3" json:"employeeNum"` // 员工工号(必要) + TaskType string `protobuf:"bytes,4,opt,name=taskType,proto3" json:"taskType"` // 任务类型: video/post/data + CompleteCount int32 `protobuf:"varint,5,opt,name=completeCount,proto3" json:"completeCount"` // 完成数量 } func (x *UpdateTaskProgressRequest) Reset() { *x = UpdateTaskProgressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[106] + mi := &file_pb_bundle_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10570,7 +10952,7 @@ func (x *UpdateTaskProgressRequest) String() string { func (*UpdateTaskProgressRequest) ProtoMessage() {} func (x *UpdateTaskProgressRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[106] + mi := &file_pb_bundle_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10583,7 +10965,7 @@ func (x *UpdateTaskProgressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTaskProgressRequest.ProtoReflect.Descriptor instead. func (*UpdateTaskProgressRequest) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{106} + return file_pb_bundle_proto_rawDescGZIP(), []int{111} } func (x *UpdateTaskProgressRequest) GetAssignRecordsUUID() string { @@ -10627,22 +11009,25 @@ type TaskAssignRecordsQueryRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"` // 艺人姓名、编号、手机号搜索关键词 - TaskAssignee string `protobuf:"bytes,2,opt,name=taskAssignee,proto3" json:"taskAssignee,omitempty"` // 指派人姓名 - Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"` // 操作人姓名 - OperatorNum string `protobuf:"bytes,4,opt,name=operatorNum,proto3" json:"operatorNum,omitempty"` // 操作人手机号 - StartTime string `protobuf:"bytes,5,opt,name=startTime,proto3" json:"startTime,omitempty"` // 操作开始时间 - EndTime string `protobuf:"bytes,6,opt,name=endTime,proto3" json:"endTime,omitempty"` // 操作结束时间 - Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` // 反馈完成状态 - ActualStatus int32 `protobuf:"varint,8,opt,name=actualStatus,proto3" json:"actualStatus,omitempty"` // 实际完成状态 - Page int32 `protobuf:"varint,9,opt,name=page,proto3" json:"page,omitempty"` // 页码 - PageSize int32 `protobuf:"varint,10,opt,name=pageSize,proto3" json:"pageSize,omitempty"` // 每页数量 + Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"` // 艺人姓名、编号、手机号搜索关键词 + TaskAssignee string `protobuf:"bytes,2,opt,name=taskAssignee,proto3" json:"taskAssignee"` // 指派人姓名 + Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator"` // 操作人姓名 + OperatorNum string `protobuf:"bytes,4,opt,name=operatorNum,proto3" json:"operatorNum"` // 操作人手机号 + StartTime string `protobuf:"bytes,5,opt,name=startTime,proto3" json:"startTime"` // 操作开始时间 + EndTime string `protobuf:"bytes,6,opt,name=endTime,proto3" json:"endTime"` // 操作结束时间 + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` // 反馈完成状态 + ActualStatus int32 `protobuf:"varint,8,opt,name=actualStatus,proto3" json:"actualStatus"` // 实际完成状态 + Page int32 `protobuf:"varint,9,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,10,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + TaskBatch string `protobuf:"bytes,11,opt,name=taskBatch,proto3" json:"taskBatch"` // 任务批次 + SortBy string `protobuf:"bytes,12,opt,name=sortBy,proto3" json:"sortBy"` // 排序字段 + SortType string `protobuf:"bytes,13,opt,name=sortType,proto3" json:"sortType"` // 排序方式 } func (x *TaskAssignRecordsQueryRequest) Reset() { *x = TaskAssignRecordsQueryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[107] + mi := &file_pb_bundle_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10655,7 +11040,7 @@ func (x *TaskAssignRecordsQueryRequest) String() string { func (*TaskAssignRecordsQueryRequest) ProtoMessage() {} func (x *TaskAssignRecordsQueryRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[107] + mi := &file_pb_bundle_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10668,7 +11053,7 @@ func (x *TaskAssignRecordsQueryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskAssignRecordsQueryRequest.ProtoReflect.Descriptor instead. func (*TaskAssignRecordsQueryRequest) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{107} + return file_pb_bundle_proto_rawDescGZIP(), []int{112} } func (x *TaskAssignRecordsQueryRequest) GetKeyword() string { @@ -10741,21 +11126,89 @@ func (x *TaskAssignRecordsQueryRequest) GetPageSize() int32 { return 0 } +func (x *TaskAssignRecordsQueryRequest) GetTaskBatch() string { + if x != nil { + return x.TaskBatch + } + return "" +} + +func (x *TaskAssignRecordsQueryRequest) GetSortBy() string { + if x != nil { + return x.SortBy + } + return "" +} + +func (x *TaskAssignRecordsQueryRequest) GetSortType() string { + if x != nil { + return x.SortType + } + return "" +} + +type ComResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *ComResponse) Reset() { + *x = ComResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComResponse) ProtoMessage() {} + +func (x *ComResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[113] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComResponse.ProtoReflect.Descriptor instead. +func (*ComResponse) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{113} +} + +func (x *ComResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type TaskAssignRecordsQueryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Records []*TaskAssignRecordInfo `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` - Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` - Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` - PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Records []*TaskAssignRecordInfo `protobuf:"bytes,1,rep,name=records,proto3" json:"records"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` } func (x *TaskAssignRecordsQueryResponse) Reset() { *x = TaskAssignRecordsQueryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[108] + mi := &file_pb_bundle_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10768,7 +11221,7 @@ func (x *TaskAssignRecordsQueryResponse) String() string { func (*TaskAssignRecordsQueryResponse) ProtoMessage() {} func (x *TaskAssignRecordsQueryResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[108] + mi := &file_pb_bundle_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10781,7 +11234,7 @@ func (x *TaskAssignRecordsQueryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskAssignRecordsQueryResponse.ProtoReflect.Descriptor instead. func (*TaskAssignRecordsQueryResponse) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{108} + return file_pb_bundle_proto_rawDescGZIP(), []int{114} } func (x *TaskAssignRecordsQueryResponse) GetRecords() []*TaskAssignRecordInfo { @@ -10812,20 +11265,329 @@ func (x *TaskAssignRecordsQueryResponse) GetPageSize() int32 { return 0 } +// 艺人上传与额度统计项 +type ArtistUploadStatsItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` + ArtistName string `protobuf:"bytes,2,opt,name=artistName,proto3" json:"artistName"` + TelNum string `protobuf:"bytes,3,opt,name=telNum,proto3" json:"telNum"` + // 视频统计 + UploadedVideoCount int32 `protobuf:"varint,4,opt,name=uploadedVideoCount,proto3" json:"uploadedVideoCount"` + BundleVideoTotal int32 `protobuf:"varint,5,opt,name=bundleVideoTotal,proto3" json:"bundleVideoTotal"` + IncreaseVideoTotal int32 `protobuf:"varint,6,opt,name=increaseVideoTotal,proto3" json:"increaseVideoTotal"` + ReleasedVideoTotal int32 `protobuf:"varint,7,opt,name=releasedVideoTotal,proto3" json:"releasedVideoTotal"` + PendingVideoCount int32 `protobuf:"varint,8,opt,name=pendingVideoCount,proto3" json:"pendingVideoCount"` + // 图文统计 + UploadedPostCount int32 `protobuf:"varint,9,opt,name=uploadedPostCount,proto3" json:"uploadedPostCount"` + BundlePostTotal int32 `protobuf:"varint,10,opt,name=bundlePostTotal,proto3" json:"bundlePostTotal"` + IncreasePostTotal int32 `protobuf:"varint,11,opt,name=increasePostTotal,proto3" json:"increasePostTotal"` + ReleasedPostTotal int32 `protobuf:"varint,12,opt,name=releasedPostTotal,proto3" json:"releasedPostTotal"` + PendingPostCount int32 `protobuf:"varint,13,opt,name=pendingPostCount,proto3" json:"pendingPostCount"` + // 数据分析统计 + UploadedDataAnalysisCount int32 `protobuf:"varint,14,opt,name=uploadedDataAnalysisCount,proto3" json:"uploadedDataAnalysisCount"` + BundleDataAnalysisTotal int32 `protobuf:"varint,15,opt,name=bundleDataAnalysisTotal,proto3" json:"bundleDataAnalysisTotal"` + IncreaseDataAnalysisTotal int32 `protobuf:"varint,16,opt,name=increaseDataAnalysisTotal,proto3" json:"increaseDataAnalysisTotal"` + ReleasedDataAnalysisTotal int32 `protobuf:"varint,17,opt,name=releasedDataAnalysisTotal,proto3" json:"releasedDataAnalysisTotal"` + PendingDataAnalysisCount int32 `protobuf:"varint,18,opt,name=pendingDataAnalysisCount,proto3" json:"pendingDataAnalysisCount"` + // 任务管理信息 + LastTaskAssignee string `protobuf:"bytes,19,opt,name=lastTaskAssignee,proto3" json:"lastTaskAssignee"` + TaskAssigneeNum string `protobuf:"bytes,20,opt,name=taskAssigneeNum,proto3" json:"taskAssigneeNum"` + ProgressTaskCount int32 `protobuf:"varint,21,opt,name=progressTaskCount,proto3" json:"progressTaskCount"` + CompleteTaskCount int32 `protobuf:"varint,22,opt,name=completeTaskCount,proto3" json:"completeTaskCount"` + // 脚本数 + UploadedVideoScriptCount int32 `protobuf:"varint,23,opt,name=uploadedVideoScriptCount,proto3" json:"uploadedVideoScriptCount"` + PendingVideoScriptCount int32 `protobuf:"varint,24,opt,name=pendingVideoScriptCount,proto3" json:"pendingVideoScriptCount"` +} + +func (x *ArtistUploadStatsItem) Reset() { + *x = ArtistUploadStatsItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistUploadStatsItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistUploadStatsItem) ProtoMessage() {} + +func (x *ArtistUploadStatsItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[115] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistUploadStatsItem.ProtoReflect.Descriptor instead. +func (*ArtistUploadStatsItem) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{115} +} + +func (x *ArtistUploadStatsItem) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *ArtistUploadStatsItem) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *ArtistUploadStatsItem) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *ArtistUploadStatsItem) GetUploadedVideoCount() int32 { + if x != nil { + return x.UploadedVideoCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetBundleVideoTotal() int32 { + if x != nil { + return x.BundleVideoTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetIncreaseVideoTotal() int32 { + if x != nil { + return x.IncreaseVideoTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetReleasedVideoTotal() int32 { + if x != nil { + return x.ReleasedVideoTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetPendingVideoCount() int32 { + if x != nil { + return x.PendingVideoCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetUploadedPostCount() int32 { + if x != nil { + return x.UploadedPostCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetBundlePostTotal() int32 { + if x != nil { + return x.BundlePostTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetIncreasePostTotal() int32 { + if x != nil { + return x.IncreasePostTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetReleasedPostTotal() int32 { + if x != nil { + return x.ReleasedPostTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetPendingPostCount() int32 { + if x != nil { + return x.PendingPostCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetUploadedDataAnalysisCount() int32 { + if x != nil { + return x.UploadedDataAnalysisCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetBundleDataAnalysisTotal() int32 { + if x != nil { + return x.BundleDataAnalysisTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetIncreaseDataAnalysisTotal() int32 { + if x != nil { + return x.IncreaseDataAnalysisTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetReleasedDataAnalysisTotal() int32 { + if x != nil { + return x.ReleasedDataAnalysisTotal + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetPendingDataAnalysisCount() int32 { + if x != nil { + return x.PendingDataAnalysisCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetLastTaskAssignee() string { + if x != nil { + return x.LastTaskAssignee + } + return "" +} + +func (x *ArtistUploadStatsItem) GetTaskAssigneeNum() string { + if x != nil { + return x.TaskAssigneeNum + } + return "" +} + +func (x *ArtistUploadStatsItem) GetProgressTaskCount() int32 { + if x != nil { + return x.ProgressTaskCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetCompleteTaskCount() int32 { + if x != nil { + return x.CompleteTaskCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetUploadedVideoScriptCount() int32 { + if x != nil { + return x.UploadedVideoScriptCount + } + return 0 +} + +func (x *ArtistUploadStatsItem) GetPendingVideoScriptCount() int32 { + if x != nil { + return x.PendingVideoScriptCount + } + return 0 +} + +// 艺人上传与额度统计响应 +type ArtistUploadStatsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Items []*ArtistUploadStatsItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total"` + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` +} + +func (x *ArtistUploadStatsResponse) Reset() { + *x = ArtistUploadStatsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_bundle_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistUploadStatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistUploadStatsResponse) ProtoMessage() {} + +func (x *ArtistUploadStatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[116] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistUploadStatsResponse.ProtoReflect.Descriptor instead. +func (*ArtistUploadStatsResponse) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{116} +} + +func (x *ArtistUploadStatsResponse) GetItems() []*ArtistUploadStatsItem { + if x != nil { + return x.Items + } + return nil +} + +func (x *ArtistUploadStatsResponse) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *ArtistUploadStatsResponse) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ArtistUploadStatsResponse) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + // 查询艺人套餐剩余数量请求 type ArtistBundleBalanceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CustomerNum string `protobuf:"bytes,1,opt,name=customerNum,proto3" json:"customerNum,omitempty"` // 艺人编号(推荐使用) - TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` // 艺人手机号(备选) + CustomerNum string `protobuf:"bytes,1,opt,name=customerNum,proto3" json:"customerNum"` // 艺人编号(推荐使用) + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum"` // 艺人手机号(备选) } func (x *ArtistBundleBalanceRequest) Reset() { *x = ArtistBundleBalanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[109] + mi := &file_pb_bundle_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10838,7 +11600,7 @@ func (x *ArtistBundleBalanceRequest) String() string { func (*ArtistBundleBalanceRequest) ProtoMessage() {} func (x *ArtistBundleBalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[109] + mi := &file_pb_bundle_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10851,7 +11613,7 @@ func (x *ArtistBundleBalanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistBundleBalanceRequest.ProtoReflect.Descriptor instead. func (*ArtistBundleBalanceRequest) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{109} + return file_pb_bundle_proto_rawDescGZIP(), []int{117} } func (x *ArtistBundleBalanceRequest) GetCustomerNum() string { @@ -10875,27 +11637,27 @@ type ArtistBundleBalanceResponse struct { unknownFields protoimpl.UnknownFields // 套餐类型 - 任务余额(视频/图文/数据分析) - BundleVideoBalance int32 `protobuf:"varint,1,opt,name=bundleVideoBalance,proto3" json:"bundleVideoBalance,omitempty"` // 套餐类型视频余额 - BundleImageBalance int32 `protobuf:"varint,2,opt,name=bundleImageBalance,proto3" json:"bundleImageBalance,omitempty"` // 套餐类型图文余额 - BundleDataAnalysisBalance int32 `protobuf:"varint,3,opt,name=bundleDataAnalysisBalance,proto3" json:"bundleDataAnalysisBalance,omitempty"` // 套餐类型数据分析余额 + BundleVideoBalance int32 `protobuf:"varint,1,opt,name=bundleVideoBalance,proto3" json:"bundleVideoBalance"` // 套餐类型视频余额 + BundleImageBalance int32 `protobuf:"varint,2,opt,name=bundleImageBalance,proto3" json:"bundleImageBalance"` // 套餐类型图文余额 + BundleDataAnalysisBalance int32 `protobuf:"varint,3,opt,name=bundleDataAnalysisBalance,proto3" json:"bundleDataAnalysisBalance"` // 套餐类型数据分析余额 // 增值类型 - 任务余额(视频/图文/数据分析) - IncreaseVideoBalance int32 `protobuf:"varint,4,opt,name=increaseVideoBalance,proto3" json:"increaseVideoBalance,omitempty"` // 增值类型视频余额 - IncreaseImageBalance int32 `protobuf:"varint,5,opt,name=increaseImageBalance,proto3" json:"increaseImageBalance,omitempty"` // 增值类型图文余额 - IncreaseDataAnalysisBalance int32 `protobuf:"varint,6,opt,name=increaseDataAnalysisBalance,proto3" json:"increaseDataAnalysisBalance,omitempty"` // 增值类型数据分析余额 + IncreaseVideoBalance int32 `protobuf:"varint,4,opt,name=increaseVideoBalance,proto3" json:"increaseVideoBalance"` // 增值类型视频余额 + IncreaseImageBalance int32 `protobuf:"varint,5,opt,name=increaseImageBalance,proto3" json:"increaseImageBalance"` // 增值类型图文余额 + IncreaseDataAnalysisBalance int32 `protobuf:"varint,6,opt,name=increaseDataAnalysisBalance,proto3" json:"increaseDataAnalysisBalance"` // 增值类型数据分析余额 // 套餐类型 - 待发数量(视频/图文/数据分析) - BundlePendingVideoCount int32 `protobuf:"varint,7,opt,name=bundlePendingVideoCount,proto3" json:"bundlePendingVideoCount,omitempty"` // 套餐类型待发视频数量 - BundlePendingImageCount int32 `protobuf:"varint,8,opt,name=bundlePendingImageCount,proto3" json:"bundlePendingImageCount,omitempty"` // 套餐类型待发图文数量 - BundlePendingDataAnalysisCount int32 `protobuf:"varint,9,opt,name=bundlePendingDataAnalysisCount,proto3" json:"bundlePendingDataAnalysisCount,omitempty"` // 套餐类型待发数据分析数量 + BundlePendingVideoCount int32 `protobuf:"varint,7,opt,name=bundlePendingVideoCount,proto3" json:"bundlePendingVideoCount"` // 套餐类型待发视频数量 + BundlePendingImageCount int32 `protobuf:"varint,8,opt,name=bundlePendingImageCount,proto3" json:"bundlePendingImageCount"` // 套餐类型待发图文数量 + BundlePendingDataAnalysisCount int32 `protobuf:"varint,9,opt,name=bundlePendingDataAnalysisCount,proto3" json:"bundlePendingDataAnalysisCount"` // 套餐类型待发数据分析数量 // 增值类型 - 待发数量(视频/图文/数据分析) - IncreasePendingVideoCount int32 `protobuf:"varint,10,opt,name=increasePendingVideoCount,proto3" json:"increasePendingVideoCount,omitempty"` // 增值类型待发视频数量 - IncreasePendingImageCount int32 `protobuf:"varint,11,opt,name=increasePendingImageCount,proto3" json:"increasePendingImageCount,omitempty"` // 增值类型待发图文数量 - IncreasePendingDataAnalysisCount int32 `protobuf:"varint,12,opt,name=increasePendingDataAnalysisCount,proto3" json:"increasePendingDataAnalysisCount,omitempty"` // 增值类型待发数据分析数量 + IncreasePendingVideoCount int32 `protobuf:"varint,10,opt,name=increasePendingVideoCount,proto3" json:"increasePendingVideoCount"` // 增值类型待发视频数量 + IncreasePendingImageCount int32 `protobuf:"varint,11,opt,name=increasePendingImageCount,proto3" json:"increasePendingImageCount"` // 增值类型待发图文数量 + IncreasePendingDataAnalysisCount int32 `protobuf:"varint,12,opt,name=increasePendingDataAnalysisCount,proto3" json:"increasePendingDataAnalysisCount"` // 增值类型待发数据分析数量 } func (x *ArtistBundleBalanceResponse) Reset() { *x = ArtistBundleBalanceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[110] + mi := &file_pb_bundle_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10908,7 +11670,7 @@ func (x *ArtistBundleBalanceResponse) String() string { func (*ArtistBundleBalanceResponse) ProtoMessage() {} func (x *ArtistBundleBalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[110] + mi := &file_pb_bundle_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10921,7 +11683,7 @@ func (x *ArtistBundleBalanceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistBundleBalanceResponse.ProtoReflect.Descriptor instead. func (*ArtistBundleBalanceResponse) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{110} + return file_pb_bundle_proto_rawDescGZIP(), []int{118} } func (x *ArtistBundleBalanceResponse) GetBundleVideoBalance() int32 { @@ -11013,14 +11775,14 @@ type SetBundleBalanceLayoutReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId uint32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` - Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + UserId uint32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` + Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data"` } func (x *SetBundleBalanceLayoutReq) Reset() { *x = SetBundleBalanceLayoutReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[111] + mi := &file_pb_bundle_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11033,7 +11795,7 @@ func (x *SetBundleBalanceLayoutReq) String() string { func (*SetBundleBalanceLayoutReq) ProtoMessage() {} func (x *SetBundleBalanceLayoutReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[111] + mi := &file_pb_bundle_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11046,7 +11808,7 @@ func (x *SetBundleBalanceLayoutReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SetBundleBalanceLayoutReq.ProtoReflect.Descriptor instead. func (*SetBundleBalanceLayoutReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{111} + return file_pb_bundle_proto_rawDescGZIP(), []int{119} } func (x *SetBundleBalanceLayoutReq) GetUserId() uint32 { @@ -11072,7 +11834,7 @@ type SetBundleBalanceLayoutResp struct { func (x *SetBundleBalanceLayoutResp) Reset() { *x = SetBundleBalanceLayoutResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[112] + mi := &file_pb_bundle_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11085,7 +11847,7 @@ func (x *SetBundleBalanceLayoutResp) String() string { func (*SetBundleBalanceLayoutResp) ProtoMessage() {} func (x *SetBundleBalanceLayoutResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[112] + mi := &file_pb_bundle_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11098,7 +11860,7 @@ func (x *SetBundleBalanceLayoutResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SetBundleBalanceLayoutResp.ProtoReflect.Descriptor instead. func (*SetBundleBalanceLayoutResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{112} + return file_pb_bundle_proto_rawDescGZIP(), []int{120} } type GetBundleBalanceLayoutReq struct { @@ -11106,13 +11868,13 @@ type GetBundleBalanceLayoutReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId uint32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + UserId uint32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId"` } func (x *GetBundleBalanceLayoutReq) Reset() { *x = GetBundleBalanceLayoutReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[113] + mi := &file_pb_bundle_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11125,7 +11887,7 @@ func (x *GetBundleBalanceLayoutReq) String() string { func (*GetBundleBalanceLayoutReq) ProtoMessage() {} func (x *GetBundleBalanceLayoutReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[113] + mi := &file_pb_bundle_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11138,7 +11900,7 @@ func (x *GetBundleBalanceLayoutReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBundleBalanceLayoutReq.ProtoReflect.Descriptor instead. func (*GetBundleBalanceLayoutReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{113} + return file_pb_bundle_proto_rawDescGZIP(), []int{121} } func (x *GetBundleBalanceLayoutReq) GetUserId() uint32 { @@ -11153,13 +11915,13 @@ type GetBundleBalanceLayoutResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` } func (x *GetBundleBalanceLayoutResp) Reset() { *x = GetBundleBalanceLayoutResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[114] + mi := &file_pb_bundle_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11172,7 +11934,7 @@ func (x *GetBundleBalanceLayoutResp) String() string { func (*GetBundleBalanceLayoutResp) ProtoMessage() {} func (x *GetBundleBalanceLayoutResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[114] + mi := &file_pb_bundle_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11185,7 +11947,7 @@ func (x *GetBundleBalanceLayoutResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBundleBalanceLayoutResp.ProtoReflect.Descriptor instead. func (*GetBundleBalanceLayoutResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{114} + return file_pb_bundle_proto_rawDescGZIP(), []int{122} } func (x *GetBundleBalanceLayoutResp) GetData() string { @@ -11200,15 +11962,15 @@ type MetricsBusinessReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BundleUuid string `protobuf:"bytes,1,opt,name=bundleUuid,proto3" json:"bundleUuid,omitempty"` - Start string `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"` - End string `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"` + BundleUuid string `protobuf:"bytes,1,opt,name=bundleUuid,proto3" json:"bundleUuid"` + Start string `protobuf:"bytes,2,opt,name=start,proto3" json:"start"` + End string `protobuf:"bytes,3,opt,name=end,proto3" json:"end"` } func (x *MetricsBusinessReq) Reset() { *x = MetricsBusinessReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[115] + mi := &file_pb_bundle_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11221,7 +11983,7 @@ func (x *MetricsBusinessReq) String() string { func (*MetricsBusinessReq) ProtoMessage() {} func (x *MetricsBusinessReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[115] + mi := &file_pb_bundle_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11234,7 +11996,7 @@ func (x *MetricsBusinessReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsBusinessReq.ProtoReflect.Descriptor instead. func (*MetricsBusinessReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{115} + return file_pb_bundle_proto_rawDescGZIP(), []int{123} } func (x *MetricsBusinessReq) GetBundleUuid() string { @@ -11264,50 +12026,50 @@ type MetricsBusinessResp struct { unknownFields protoimpl.UnknownFields // ====== 金额统计 ====== - TotalBundlePaymentAmount float32 `protobuf:"fixed32,1,opt,name=totalBundlePaymentAmount,proto3" json:"totalBundlePaymentAmount,omitempty"` // 总销售套餐服务金额 - TotalIncreasePaymentAmount float32 `protobuf:"fixed32,2,opt,name=totalIncreasePaymentAmount,proto3" json:"totalIncreasePaymentAmount,omitempty"` // 总销售增值服务金额 - TotalPayment float32 `protobuf:"fixed32,3,opt,name=totalPayment,proto3" json:"totalPayment,omitempty"` // 合计支付金额 - FinalPaymentAmount float32 `protobuf:"fixed32,4,opt,name=finalPaymentAmount,proto3" json:"finalPaymentAmount,omitempty"` // 合计结算金额 - TotalFeePaymentAmount float32 `protobuf:"fixed32,5,opt,name=totalFeePaymentAmount,proto3" json:"totalFeePaymentAmount,omitempty"` // 合计手续费 - NewBundlePaymentAmount float32 `protobuf:"fixed32,6,opt,name=newBundlePaymentAmount,proto3" json:"newBundlePaymentAmount,omitempty"` // 新增套餐购买金额 - NewIncreasePaymentAmount float32 `protobuf:"fixed32,7,opt,name=newIncreasePaymentAmount,proto3" json:"newIncreasePaymentAmount,omitempty"` // 新增增值服务金额 - NewPaymentAmount float32 `protobuf:"fixed32,8,opt,name=newPaymentAmount,proto3" json:"newPaymentAmount,omitempty"` // 新增支付金额 - NewFinalPaymentAmount float32 `protobuf:"fixed32,9,opt,name=newFinalPaymentAmount,proto3" json:"newFinalPaymentAmount,omitempty"` // 新增结算金额 - NewFeePaymentAmount float32 `protobuf:"fixed32,10,opt,name=newFeePaymentAmount,proto3" json:"newFeePaymentAmount,omitempty"` // 新增手续费 + TotalBundlePaymentAmount float32 `protobuf:"fixed32,1,opt,name=totalBundlePaymentAmount,proto3" json:"totalBundlePaymentAmount"` // 总销售套餐服务金额 + TotalIncreasePaymentAmount float32 `protobuf:"fixed32,2,opt,name=totalIncreasePaymentAmount,proto3" json:"totalIncreasePaymentAmount"` // 总销售增值服务金额 + TotalPayment float32 `protobuf:"fixed32,3,opt,name=totalPayment,proto3" json:"totalPayment"` // 合计支付金额 + FinalPaymentAmount float32 `protobuf:"fixed32,4,opt,name=finalPaymentAmount,proto3" json:"finalPaymentAmount"` // 合计结算金额 + TotalFeePaymentAmount float32 `protobuf:"fixed32,5,opt,name=totalFeePaymentAmount,proto3" json:"totalFeePaymentAmount"` // 合计手续费 + NewBundlePaymentAmount float32 `protobuf:"fixed32,6,opt,name=newBundlePaymentAmount,proto3" json:"newBundlePaymentAmount"` // 新增套餐购买金额 + NewIncreasePaymentAmount float32 `protobuf:"fixed32,7,opt,name=newIncreasePaymentAmount,proto3" json:"newIncreasePaymentAmount"` // 新增增值服务金额 + NewPaymentAmount float32 `protobuf:"fixed32,8,opt,name=newPaymentAmount,proto3" json:"newPaymentAmount"` // 新增支付金额 + NewFinalPaymentAmount float32 `protobuf:"fixed32,9,opt,name=newFinalPaymentAmount,proto3" json:"newFinalPaymentAmount"` // 新增结算金额 + NewFeePaymentAmount float32 `protobuf:"fixed32,10,opt,name=newFeePaymentAmount,proto3" json:"newFeePaymentAmount"` // 新增手续费 // ====== 套餐统计 ====== - NewBundleCount int64 `protobuf:"varint,11,opt,name=newBundleCount,proto3" json:"newBundleCount,omitempty"` // 新购买套餐数 - NewRepoBundleCount int64 `protobuf:"varint,12,opt,name=newRepoBundleCount,proto3" json:"newRepoBundleCount,omitempty"` // 新回购套餐数 - NewAddBundleCount int64 `protobuf:"varint,13,opt,name=newAddBundleCount,proto3" json:"newAddBundleCount,omitempty"` // 新增购买套餐数 - NewConfirmedBundleCount int64 `protobuf:"varint,14,opt,name=newConfirmedBundleCount,proto3" json:"newConfirmedBundleCount,omitempty"` // 新验收确认套餐服务数 - NewCostBundlePaymentAmount float32 `protobuf:"fixed32,15,opt,name=newCostBundlePaymentAmount,proto3" json:"newCostBundlePaymentAmount,omitempty"` // 新消耗套餐服务金额 + NewBundleCount int64 `protobuf:"varint,11,opt,name=newBundleCount,proto3" json:"newBundleCount"` // 新购买套餐数 + NewRepoBundleCount int64 `protobuf:"varint,12,opt,name=newRepoBundleCount,proto3" json:"newRepoBundleCount"` // 新回购套餐数 + NewAddBundleCount int64 `protobuf:"varint,13,opt,name=newAddBundleCount,proto3" json:"newAddBundleCount"` // 新增购买套餐数 + NewConfirmedBundleCount int64 `protobuf:"varint,14,opt,name=newConfirmedBundleCount,proto3" json:"newConfirmedBundleCount"` // 新验收确认套餐服务数 + NewCostBundlePaymentAmount float32 `protobuf:"fixed32,15,opt,name=newCostBundlePaymentAmount,proto3" json:"newCostBundlePaymentAmount"` // 新消耗套餐服务金额 // ====== 增值服务统计 ====== - NewIncreaseCount int64 `protobuf:"varint,16,opt,name=newIncreaseCount,proto3" json:"newIncreaseCount,omitempty"` // 新购买增值服务数 - NewRepoIncreaseCount int64 `protobuf:"varint,17,opt,name=newRepoIncreaseCount,proto3" json:"newRepoIncreaseCount,omitempty"` // 新回购增值服务数 - NewAddIncreaseCount int64 `protobuf:"varint,18,opt,name=newAddIncreaseCount,proto3" json:"newAddIncreaseCount,omitempty"` // 新增购买增值服务数 - NewConfirmedIncreaseCount int64 `protobuf:"varint,19,opt,name=newConfirmedIncreaseCount,proto3" json:"newConfirmedIncreaseCount,omitempty"` // 新验收确认增值服务数 - NewCostIncreasePaymentAmount float32 `protobuf:"fixed32,20,opt,name=newCostIncreasePaymentAmount,proto3" json:"newCostIncreasePaymentAmount,omitempty"` // 新消耗增值服务金额 + NewIncreaseCount int64 `protobuf:"varint,16,opt,name=newIncreaseCount,proto3" json:"newIncreaseCount"` // 新购买增值服务数 + NewRepoIncreaseCount int64 `protobuf:"varint,17,opt,name=newRepoIncreaseCount,proto3" json:"newRepoIncreaseCount"` // 新回购增值服务数 + NewAddIncreaseCount int64 `protobuf:"varint,18,opt,name=newAddIncreaseCount,proto3" json:"newAddIncreaseCount"` // 新增购买增值服务数 + NewConfirmedIncreaseCount int64 `protobuf:"varint,19,opt,name=newConfirmedIncreaseCount,proto3" json:"newConfirmedIncreaseCount"` // 新验收确认增值服务数 + NewCostIncreasePaymentAmount float32 `protobuf:"fixed32,20,opt,name=newCostIncreasePaymentAmount,proto3" json:"newCostIncreasePaymentAmount"` // 新消耗增值服务金额 // ====== 账号统计 ====== - NewAccountCount int64 `protobuf:"varint,21,opt,name=newAccountCount,proto3" json:"newAccountCount,omitempty"` // 新增注册账号数 - NewPendingRegisterAccountCount int64 `protobuf:"varint,22,opt,name=newPendingRegisterAccountCount,proto3" json:"newPendingRegisterAccountCount,omitempty"` // 新增待注册账号数 - TotalPendingRegisterAccountCount int64 `protobuf:"varint,23,opt,name=totalPendingRegisterAccountCount,proto3" json:"totalPendingRegisterAccountCount,omitempty"` // 总待注册账号数 + NewAccountCount int64 `protobuf:"varint,21,opt,name=newAccountCount,proto3" json:"newAccountCount"` // 新增注册账号数 + NewPendingRegisterAccountCount int64 `protobuf:"varint,22,opt,name=newPendingRegisterAccountCount,proto3" json:"newPendingRegisterAccountCount"` // 新增待注册账号数 + TotalPendingRegisterAccountCount int64 `protobuf:"varint,23,opt,name=totalPendingRegisterAccountCount,proto3" json:"totalPendingRegisterAccountCount"` // 总待注册账号数 // ====== 视频统计 ====== - NewUploadedVideoCount int64 `protobuf:"varint,24,opt,name=newUploadedVideoCount,proto3" json:"newUploadedVideoCount,omitempty"` // 新增已上传的视频数 - NewPendingUploadVideoCount int64 `protobuf:"varint,25,opt,name=newPendingUploadVideoCount,proto3" json:"newPendingUploadVideoCount,omitempty"` // 新增待上传的视频数 - TotalPendingUploadVideoCount int64 `protobuf:"varint,26,opt,name=totalPendingUploadVideoCount,proto3" json:"totalPendingUploadVideoCount,omitempty"` // 总待上传的视频数 + NewUploadedVideoCount int64 `protobuf:"varint,24,opt,name=newUploadedVideoCount,proto3" json:"newUploadedVideoCount"` // 新增已上传的视频数 + NewPendingUploadVideoCount int64 `protobuf:"varint,25,opt,name=newPendingUploadVideoCount,proto3" json:"newPendingUploadVideoCount"` // 新增待上传的视频数 + TotalPendingUploadVideoCount int64 `protobuf:"varint,26,opt,name=totalPendingUploadVideoCount,proto3" json:"totalPendingUploadVideoCount"` // 总待上传的视频数 // ====== 图文统计 ====== - NewUploadedImageCount int64 `protobuf:"varint,27,opt,name=newUploadedImageCount,proto3" json:"newUploadedImageCount,omitempty"` // 新增已上传的图文数 - NewPendingUploadImageCount int64 `protobuf:"varint,28,opt,name=newPendingUploadImageCount,proto3" json:"newPendingUploadImageCount,omitempty"` // 新增待上传的图文数 - TotalPendingUploadImageCount int64 `protobuf:"varint,29,opt,name=totalPendingUploadImageCount,proto3" json:"totalPendingUploadImageCount,omitempty"` // 总待上传的图文数 + NewUploadedImageCount int64 `protobuf:"varint,27,opt,name=newUploadedImageCount,proto3" json:"newUploadedImageCount"` // 新增已上传的图文数 + NewPendingUploadImageCount int64 `protobuf:"varint,28,opt,name=newPendingUploadImageCount,proto3" json:"newPendingUploadImageCount"` // 新增待上传的图文数 + TotalPendingUploadImageCount int64 `protobuf:"varint,29,opt,name=totalPendingUploadImageCount,proto3" json:"totalPendingUploadImageCount"` // 总待上传的图文数 // ====== 数据分析统计 ====== - NewUploadedDataAnalysisCount int64 `protobuf:"varint,30,opt,name=newUploadedDataAnalysisCount,proto3" json:"newUploadedDataAnalysisCount,omitempty"` // 新增已上传的数据分析数 - NewPendingUploadDataAnalysisCount int64 `protobuf:"varint,31,opt,name=newPendingUploadDataAnalysisCount,proto3" json:"newPendingUploadDataAnalysisCount,omitempty"` // 新增待上传的数据分析数 - TotalPendingUploadDataAnalysisCount int64 `protobuf:"varint,32,opt,name=totalPendingUploadDataAnalysisCount,proto3" json:"totalPendingUploadDataAnalysisCount,omitempty"` // 总待上传的数据分析数 + NewUploadedDataAnalysisCount int64 `protobuf:"varint,30,opt,name=newUploadedDataAnalysisCount,proto3" json:"newUploadedDataAnalysisCount"` // 新增已上传的数据分析数 + NewPendingUploadDataAnalysisCount int64 `protobuf:"varint,31,opt,name=newPendingUploadDataAnalysisCount,proto3" json:"newPendingUploadDataAnalysisCount"` // 新增待上传的数据分析数 + TotalPendingUploadDataAnalysisCount int64 `protobuf:"varint,32,opt,name=totalPendingUploadDataAnalysisCount,proto3" json:"totalPendingUploadDataAnalysisCount"` // 总待上传的数据分析数 } func (x *MetricsBusinessResp) Reset() { *x = MetricsBusinessResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[116] + mi := &file_pb_bundle_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11320,7 +12082,7 @@ func (x *MetricsBusinessResp) String() string { func (*MetricsBusinessResp) ProtoMessage() {} func (x *MetricsBusinessResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[116] + mi := &file_pb_bundle_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11333,7 +12095,7 @@ func (x *MetricsBusinessResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsBusinessResp.ProtoReflect.Descriptor instead. func (*MetricsBusinessResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{116} + return file_pb_bundle_proto_rawDescGZIP(), []int{124} } func (x *MetricsBusinessResp) GetTotalBundlePaymentAmount() float32 { @@ -11565,14 +12327,14 @@ type MetricsOperatingCreateReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` - End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` + Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start"` + End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end"` } func (x *MetricsOperatingCreateReq) Reset() { *x = MetricsOperatingCreateReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[117] + mi := &file_pb_bundle_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11585,7 +12347,7 @@ func (x *MetricsOperatingCreateReq) String() string { func (*MetricsOperatingCreateReq) ProtoMessage() {} func (x *MetricsOperatingCreateReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[117] + mi := &file_pb_bundle_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11598,7 +12360,7 @@ func (x *MetricsOperatingCreateReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsOperatingCreateReq.ProtoReflect.Descriptor instead. func (*MetricsOperatingCreateReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{117} + return file_pb_bundle_proto_rawDescGZIP(), []int{125} } func (x *MetricsOperatingCreateReq) GetStart() string { @@ -11621,43 +12383,43 @@ type MetricsOperatingCreateResp struct { unknownFields protoimpl.UnknownFields // ======================== 套餐/增值视频 ======================== - NewPendingUploadBundleVideoCount int64 `protobuf:"varint,1,opt,name=newPendingUploadBundleVideoCount,proto3" json:"newPendingUploadBundleVideoCount,omitempty"` // 新增待上传套餐视频数 - NewPendingUploadIncreaseVideoCount int64 `protobuf:"varint,2,opt,name=newPendingUploadIncreaseVideoCount,proto3" json:"newPendingUploadIncreaseVideoCount,omitempty"` // 新增待上传增值视频数 - TotalPendingUploadBundleVideoCount int64 `protobuf:"varint,3,opt,name=totalPendingUploadBundleVideoCount,proto3" json:"totalPendingUploadBundleVideoCount,omitempty"` // 总待上传套餐视频数截止 - TotalPendingUploadIncreaseVideoCount int64 `protobuf:"varint,4,opt,name=totalPendingUploadIncreaseVideoCount,proto3" json:"totalPendingUploadIncreaseVideoCount,omitempty"` // 总待上传增值视频数截止 - NewUploadedBundleVideoCount int64 `protobuf:"varint,5,opt,name=newUploadedBundleVideoCount,proto3" json:"newUploadedBundleVideoCount,omitempty"` // 新增已上传套餐视频数 - NewUploadedIncreaseVideoCount int64 `protobuf:"varint,6,opt,name=newUploadedIncreaseVideoCount,proto3" json:"newUploadedIncreaseVideoCount,omitempty"` // 新增已上传增值视频数 - TotalUploadedBundleVideoCount int64 `protobuf:"varint,7,opt,name=totalUploadedBundleVideoCount,proto3" json:"totalUploadedBundleVideoCount,omitempty"` // 总已上传套餐视频数截止 - TotalUploadedIncreaseVideoCount int64 `protobuf:"varint,8,opt,name=totalUploadedIncreaseVideoCount,proto3" json:"totalUploadedIncreaseVideoCount,omitempty"` // 总已上传增值视频数截止 + NewPendingUploadBundleVideoCount int64 `protobuf:"varint,1,opt,name=newPendingUploadBundleVideoCount,proto3" json:"newPendingUploadBundleVideoCount"` // 新增待上传套餐视频数 + NewPendingUploadIncreaseVideoCount int64 `protobuf:"varint,2,opt,name=newPendingUploadIncreaseVideoCount,proto3" json:"newPendingUploadIncreaseVideoCount"` // 新增待上传增值视频数 + TotalPendingUploadBundleVideoCount int64 `protobuf:"varint,3,opt,name=totalPendingUploadBundleVideoCount,proto3" json:"totalPendingUploadBundleVideoCount"` // 总待上传套餐视频数截止 + TotalPendingUploadIncreaseVideoCount int64 `protobuf:"varint,4,opt,name=totalPendingUploadIncreaseVideoCount,proto3" json:"totalPendingUploadIncreaseVideoCount"` // 总待上传增值视频数截止 + NewUploadedBundleVideoCount int64 `protobuf:"varint,5,opt,name=newUploadedBundleVideoCount,proto3" json:"newUploadedBundleVideoCount"` // 新增已上传套餐视频数 + NewUploadedIncreaseVideoCount int64 `protobuf:"varint,6,opt,name=newUploadedIncreaseVideoCount,proto3" json:"newUploadedIncreaseVideoCount"` // 新增已上传增值视频数 + TotalUploadedBundleVideoCount int64 `protobuf:"varint,7,opt,name=totalUploadedBundleVideoCount,proto3" json:"totalUploadedBundleVideoCount"` // 总已上传套餐视频数截止 + TotalUploadedIncreaseVideoCount int64 `protobuf:"varint,8,opt,name=totalUploadedIncreaseVideoCount,proto3" json:"totalUploadedIncreaseVideoCount"` // 总已上传增值视频数截止 // ======================== 注册账号 ======================== - NewPendingRegisterAccountCount int64 `protobuf:"varint,9,opt,name=newPendingRegisterAccountCount,proto3" json:"newPendingRegisterAccountCount,omitempty"` // 新增待注册账号数 - TotalPendingRegisterAccountCount int64 `protobuf:"varint,10,opt,name=totalPendingRegisterAccountCount,proto3" json:"totalPendingRegisterAccountCount,omitempty"` // 总待注册账号数截止 - NewRegisteredAccountCount int64 `protobuf:"varint,11,opt,name=newRegisteredAccountCount,proto3" json:"newRegisteredAccountCount,omitempty"` // 新增已注册账号数 - TotalRegisteredAccountCount int64 `protobuf:"varint,12,opt,name=totalRegisteredAccountCount,proto3" json:"totalRegisteredAccountCount,omitempty"` // 总已注册账号数截止 + NewPendingRegisterAccountCount int64 `protobuf:"varint,9,opt,name=newPendingRegisterAccountCount,proto3" json:"newPendingRegisterAccountCount"` // 新增待注册账号数 + TotalPendingRegisterAccountCount int64 `protobuf:"varint,10,opt,name=totalPendingRegisterAccountCount,proto3" json:"totalPendingRegisterAccountCount"` // 总待注册账号数截止 + NewRegisteredAccountCount int64 `protobuf:"varint,11,opt,name=newRegisteredAccountCount,proto3" json:"newRegisteredAccountCount"` // 新增已注册账号数 + TotalRegisteredAccountCount int64 `protobuf:"varint,12,opt,name=totalRegisteredAccountCount,proto3" json:"totalRegisteredAccountCount"` // 总已注册账号数截止 // ======================== 套餐/增值数据(图片) ======================== - NewPendingUploadBundleImageCount int64 `protobuf:"varint,13,opt,name=newPendingUploadBundleImageCount,proto3" json:"newPendingUploadBundleImageCount,omitempty"` // 新增待做套餐数据数 - NewPendingUploadIncreaseImageCount int64 `protobuf:"varint,14,opt,name=newPendingUploadIncreaseImageCount,proto3" json:"newPendingUploadIncreaseImageCount,omitempty"` // 新增待做增值数据数 - TotalPendingUploadBundleImageCount int64 `protobuf:"varint,15,opt,name=totalPendingUploadBundleImageCount,proto3" json:"totalPendingUploadBundleImageCount,omitempty"` // 总待做套餐数据数截止 - TotalPendingUploadIncreaseImageCount int64 `protobuf:"varint,16,opt,name=totalPendingUploadIncreaseImageCount,proto3" json:"totalPendingUploadIncreaseImageCount,omitempty"` // 总待做增值数据数截止 - NewUploadedBundleImageCount int64 `protobuf:"varint,17,opt,name=newUploadedBundleImageCount,proto3" json:"newUploadedBundleImageCount,omitempty"` // 新增已做套餐数据数 - NewUploadedIncreaseImageCount int64 `protobuf:"varint,18,opt,name=newUploadedIncreaseImageCount,proto3" json:"newUploadedIncreaseImageCount,omitempty"` // 新增已做增值数据数 - TotalUploadedBundleImageCount int64 `protobuf:"varint,19,opt,name=totalUploadedBundleImageCount,proto3" json:"totalUploadedBundleImageCount,omitempty"` // 总已做套餐数据数截止 - TotalUploadedIncreaseImageCount int64 `protobuf:"varint,20,opt,name=totalUploadedIncreaseImageCount,proto3" json:"totalUploadedIncreaseImageCount,omitempty"` // 总已做增值数据数截止 + NewPendingUploadBundleImageCount int64 `protobuf:"varint,13,opt,name=newPendingUploadBundleImageCount,proto3" json:"newPendingUploadBundleImageCount"` // 新增待上传套餐图文数 + NewPendingUploadIncreaseImageCount int64 `protobuf:"varint,14,opt,name=newPendingUploadIncreaseImageCount,proto3" json:"newPendingUploadIncreaseImageCount"` // 新增待上传增值图文数 + TotalPendingUploadBundleImageCount int64 `protobuf:"varint,15,opt,name=totalPendingUploadBundleImageCount,proto3" json:"totalPendingUploadBundleImageCount"` // 总待上传套餐图文数截止 + TotalPendingUploadIncreaseImageCount int64 `protobuf:"varint,16,opt,name=totalPendingUploadIncreaseImageCount,proto3" json:"totalPendingUploadIncreaseImageCount"` // 总待上传增值图文数截止 + NewUploadedBundleImageCount int64 `protobuf:"varint,17,opt,name=newUploadedBundleImageCount,proto3" json:"newUploadedBundleImageCount"` // 新增已上传套餐图文数 + NewUploadedIncreaseImageCount int64 `protobuf:"varint,18,opt,name=newUploadedIncreaseImageCount,proto3" json:"newUploadedIncreaseImageCount"` // 新增已上传增值图文数 + TotalUploadedBundleImageCount int64 `protobuf:"varint,19,opt,name=totalUploadedBundleImageCount,proto3" json:"totalUploadedBundleImageCount"` // 总已上传套餐图文数截止 + TotalUploadedIncreaseImageCount int64 `protobuf:"varint,20,opt,name=totalUploadedIncreaseImageCount,proto3" json:"totalUploadedIncreaseImageCount"` // 总已上传增值图文数截止 // ======================== 套餐/增值图文数据分析 ======================== - NewPendingUploadBundleDataAnalysisCount int64 `protobuf:"varint,21,opt,name=newPendingUploadBundleDataAnalysisCount,proto3" json:"newPendingUploadBundleDataAnalysisCount,omitempty"` // 新增待上传套餐图文数 - NewPendingUploadIncreaseDataAnalysisCount int64 `protobuf:"varint,22,opt,name=newPendingUploadIncreaseDataAnalysisCount,proto3" json:"newPendingUploadIncreaseDataAnalysisCount,omitempty"` // 新增待上传增值图文数 - TotalPendingUploadBundleDataAnalysisCount int64 `protobuf:"varint,23,opt,name=totalPendingUploadBundleDataAnalysisCount,proto3" json:"totalPendingUploadBundleDataAnalysisCount,omitempty"` // 总待上传套餐图文数截止 - TotalPendingUploadIncreaseDataAnalysisCount int64 `protobuf:"varint,24,opt,name=totalPendingUploadIncreaseDataAnalysisCount,proto3" json:"totalPendingUploadIncreaseDataAnalysisCount,omitempty"` // 总待上传增值图文数截止 - NewUploadedBundleDataAnalysisCount int64 `protobuf:"varint,25,opt,name=newUploadedBundleDataAnalysisCount,proto3" json:"newUploadedBundleDataAnalysisCount,omitempty"` // 新增已上传套餐图文数 - NewUploadedIncreaseDataAnalysisCount int64 `protobuf:"varint,26,opt,name=newUploadedIncreaseDataAnalysisCount,proto3" json:"newUploadedIncreaseDataAnalysisCount,omitempty"` // 新增已上传增值图文数 - TotalUploadedBundleDataAnalysisCount int64 `protobuf:"varint,27,opt,name=totalUploadedBundleDataAnalysisCount,proto3" json:"totalUploadedBundleDataAnalysisCount,omitempty"` // 总已上传套餐图文数截止 - TotalUploadedIncreaseDataAnalysisCount int64 `protobuf:"varint,28,opt,name=totalUploadedIncreaseDataAnalysisCount,proto3" json:"totalUploadedIncreaseDataAnalysisCount,omitempty"` // 总已上传增值图文数截止 + NewPendingUploadBundleDataAnalysisCount int64 `protobuf:"varint,21,opt,name=newPendingUploadBundleDataAnalysisCount,proto3" json:"newPendingUploadBundleDataAnalysisCount"` // 新增待做套餐数据数 + NewPendingUploadIncreaseDataAnalysisCount int64 `protobuf:"varint,22,opt,name=newPendingUploadIncreaseDataAnalysisCount,proto3" json:"newPendingUploadIncreaseDataAnalysisCount"` // 新增待做增值数据数 + TotalPendingUploadBundleDataAnalysisCount int64 `protobuf:"varint,23,opt,name=totalPendingUploadBundleDataAnalysisCount,proto3" json:"totalPendingUploadBundleDataAnalysisCount"` // 总待做套餐数据数截止 + TotalPendingUploadIncreaseDataAnalysisCount int64 `protobuf:"varint,24,opt,name=totalPendingUploadIncreaseDataAnalysisCount,proto3" json:"totalPendingUploadIncreaseDataAnalysisCount"` // 总待做增值数据数截止 + NewUploadedBundleDataAnalysisCount int64 `protobuf:"varint,25,opt,name=newUploadedBundleDataAnalysisCount,proto3" json:"newUploadedBundleDataAnalysisCount"` // 新增已做套餐数据数 + NewUploadedIncreaseDataAnalysisCount int64 `protobuf:"varint,26,opt,name=newUploadedIncreaseDataAnalysisCount,proto3" json:"newUploadedIncreaseDataAnalysisCount"` // 新增已做增值数据数 + TotalUploadedBundleDataAnalysisCount int64 `protobuf:"varint,27,opt,name=totalUploadedBundleDataAnalysisCount,proto3" json:"totalUploadedBundleDataAnalysisCount"` // 总已做套餐数据数截止 + TotalUploadedIncreaseDataAnalysisCount int64 `protobuf:"varint,28,opt,name=totalUploadedIncreaseDataAnalysisCount,proto3" json:"totalUploadedIncreaseDataAnalysisCount"` // 总已做增值数据数截止 } func (x *MetricsOperatingCreateResp) Reset() { *x = MetricsOperatingCreateResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[118] + mi := &file_pb_bundle_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11670,7 +12432,7 @@ func (x *MetricsOperatingCreateResp) String() string { func (*MetricsOperatingCreateResp) ProtoMessage() {} func (x *MetricsOperatingCreateResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[118] + mi := &file_pb_bundle_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11683,7 +12445,7 @@ func (x *MetricsOperatingCreateResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsOperatingCreateResp.ProtoReflect.Descriptor instead. func (*MetricsOperatingCreateResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{118} + return file_pb_bundle_proto_rawDescGZIP(), []int{126} } func (x *MetricsOperatingCreateResp) GetNewPendingUploadBundleVideoCount() int64 { @@ -11887,13 +12649,13 @@ type MetricsOperatingStatusReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Date string `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"` + Date string `protobuf:"bytes,1,opt,name=date,proto3" json:"date"` } func (x *MetricsOperatingStatusReq) Reset() { *x = MetricsOperatingStatusReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[119] + mi := &file_pb_bundle_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11906,7 +12668,7 @@ func (x *MetricsOperatingStatusReq) String() string { func (*MetricsOperatingStatusReq) ProtoMessage() {} func (x *MetricsOperatingStatusReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[119] + mi := &file_pb_bundle_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11919,7 +12681,7 @@ func (x *MetricsOperatingStatusReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsOperatingStatusReq.ProtoReflect.Descriptor instead. func (*MetricsOperatingStatusReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{119} + return file_pb_bundle_proto_rawDescGZIP(), []int{127} } func (x *MetricsOperatingStatusReq) GetDate() string { @@ -11935,40 +12697,40 @@ type MetricsOperatingStatusResp struct { unknownFields protoimpl.UnknownFields // ===== 视频类 ===== - DraftVideoCount int64 `protobuf:"varint,1,opt,name=draftVideoCount,proto3" json:"draftVideoCount,omitempty"` // 草稿视频数 - ReviewingVideoCount int64 `protobuf:"varint,2,opt,name=reviewingVideoCount,proto3" json:"reviewingVideoCount,omitempty"` // 审核中视频数 - RejectVideoCount int64 `protobuf:"varint,3,opt,name=rejectVideoCount,proto3" json:"rejectVideoCount,omitempty"` // 已驳回视频数 - WaitConfirmVideoCount int64 `protobuf:"varint,4,opt,name=waitConfirmVideoCount,proto3" json:"waitConfirmVideoCount,omitempty"` // 待艺人确认视频数 - ArtistConfirmVideoCount int64 `protobuf:"varint,5,opt,name=artistConfirmVideoCount,proto3" json:"artistConfirmVideoCount,omitempty"` // 艺人已验收确认视频数 - AutoConfirmVideoCount int64 `protobuf:"varint,6,opt,name=autoConfirmVideoCount,proto3" json:"autoConfirmVideoCount,omitempty"` // 系统已自动确认视频数 - PendingUploadVideoCount int64 `protobuf:"varint,7,opt,name=pendingUploadVideoCount,proto3" json:"pendingUploadVideoCount,omitempty"` // 待发布视频数 - UploadSuccessVideoCount int64 `protobuf:"varint,8,opt,name=uploadSuccessVideoCount,proto3" json:"uploadSuccessVideoCount,omitempty"` // 发布成功视频数 - UploadFailedVideoCount int64 `protobuf:"varint,9,opt,name=uploadFailedVideoCount,proto3" json:"uploadFailedVideoCount,omitempty"` // 发布异常视频数 + DraftVideoCount int64 `protobuf:"varint,1,opt,name=draftVideoCount,proto3" json:"draftVideoCount"` // 草稿视频数 + ReviewingVideoCount int64 `protobuf:"varint,2,opt,name=reviewingVideoCount,proto3" json:"reviewingVideoCount"` // 审核中视频数 + RejectVideoCount int64 `protobuf:"varint,3,opt,name=rejectVideoCount,proto3" json:"rejectVideoCount"` // 已驳回视频数 + WaitConfirmVideoCount int64 `protobuf:"varint,4,opt,name=waitConfirmVideoCount,proto3" json:"waitConfirmVideoCount"` // 待艺人确认视频数 + ArtistConfirmVideoCount int64 `protobuf:"varint,5,opt,name=artistConfirmVideoCount,proto3" json:"artistConfirmVideoCount"` // 艺人已验收确认视频数 + AutoConfirmVideoCount int64 `protobuf:"varint,6,opt,name=autoConfirmVideoCount,proto3" json:"autoConfirmVideoCount"` // 系统已自动确认视频数 + PendingUploadVideoCount int64 `protobuf:"varint,7,opt,name=pendingUploadVideoCount,proto3" json:"pendingUploadVideoCount"` // 待发布视频数 + UploadSuccessVideoCount int64 `protobuf:"varint,8,opt,name=uploadSuccessVideoCount,proto3" json:"uploadSuccessVideoCount"` // 发布成功视频数 + UploadFailedVideoCount int64 `protobuf:"varint,9,opt,name=uploadFailedVideoCount,proto3" json:"uploadFailedVideoCount"` // 发布异常视频数 // ===== 图文类 ===== - DraftImageCount int64 `protobuf:"varint,10,opt,name=draftImageCount,proto3" json:"draftImageCount,omitempty"` // 草稿图文数 - ReviewingImageCount int64 `protobuf:"varint,11,opt,name=reviewingImageCount,proto3" json:"reviewingImageCount,omitempty"` // 审核中图文数 - RejectImageCount int64 `protobuf:"varint,12,opt,name=rejectImageCount,proto3" json:"rejectImageCount,omitempty"` // 已驳回图文数 - WaitConfirmImageCount int64 `protobuf:"varint,13,opt,name=waitConfirmImageCount,proto3" json:"waitConfirmImageCount,omitempty"` // 待艺人确认图文数 - ArtistConfirmImageCount int64 `protobuf:"varint,14,opt,name=artistConfirmImageCount,proto3" json:"artistConfirmImageCount,omitempty"` // 艺人已验收确认图文数 - AutoConfirmImageCount int64 `protobuf:"varint,15,opt,name=autoConfirmImageCount,proto3" json:"autoConfirmImageCount,omitempty"` // 系统已自动确认图文数 - PendingUploadImageCount int64 `protobuf:"varint,16,opt,name=pendingUploadImageCount,proto3" json:"pendingUploadImageCount,omitempty"` // 待发布图文数 - UploadSuccessImageCount int64 `protobuf:"varint,17,opt,name=uploadSuccessImageCount,proto3" json:"uploadSuccessImageCount,omitempty"` // 发布成功图文数 - UploadFailedImageCount int64 `protobuf:"varint,18,opt,name=uploadFailedImageCount,proto3" json:"uploadFailedImageCount,omitempty"` // 发布异常图文数 + DraftImageCount int64 `protobuf:"varint,10,opt,name=draftImageCount,proto3" json:"draftImageCount"` // 草稿图文数 + ReviewingImageCount int64 `protobuf:"varint,11,opt,name=reviewingImageCount,proto3" json:"reviewingImageCount"` // 审核中图文数 + RejectImageCount int64 `protobuf:"varint,12,opt,name=rejectImageCount,proto3" json:"rejectImageCount"` // 已驳回图文数 + WaitConfirmImageCount int64 `protobuf:"varint,13,opt,name=waitConfirmImageCount,proto3" json:"waitConfirmImageCount"` // 待艺人确认图文数 + ArtistConfirmImageCount int64 `protobuf:"varint,14,opt,name=artistConfirmImageCount,proto3" json:"artistConfirmImageCount"` // 艺人已验收确认图文数 + AutoConfirmImageCount int64 `protobuf:"varint,15,opt,name=autoConfirmImageCount,proto3" json:"autoConfirmImageCount"` // 系统已自动确认图文数 + PendingUploadImageCount int64 `protobuf:"varint,16,opt,name=pendingUploadImageCount,proto3" json:"pendingUploadImageCount"` // 待发布图文数 + UploadSuccessImageCount int64 `protobuf:"varint,17,opt,name=uploadSuccessImageCount,proto3" json:"uploadSuccessImageCount"` // 发布成功图文数 + UploadFailedImageCount int64 `protobuf:"varint,18,opt,name=uploadFailedImageCount,proto3" json:"uploadFailedImageCount"` // 发布异常图文数 // ===== 数据分析类 ===== - ReviewingDataAnalysisCount int64 `protobuf:"varint,19,opt,name=reviewingDataAnalysisCount,proto3" json:"reviewingDataAnalysisCount,omitempty"` // 审核中数据数 - RejectDataAnalysisCount int64 `protobuf:"varint,20,opt,name=rejectDataAnalysisCount,proto3" json:"rejectDataAnalysisCount,omitempty"` // 已驳回数据数 - WaitConfirmDataAnalysisCount int64 `protobuf:"varint,21,opt,name=waitConfirmDataAnalysisCount,proto3" json:"waitConfirmDataAnalysisCount,omitempty"` // 待艺人确认数据数 - ArtistConfirmDataAnalysisCount int64 `protobuf:"varint,22,opt,name=artistConfirmDataAnalysisCount,proto3" json:"artistConfirmDataAnalysisCount,omitempty"` // 艺人已验收确认数据数 - AutoConfirmDataAnalysisCount int64 `protobuf:"varint,23,opt,name=autoConfirmDataAnalysisCount,proto3" json:"autoConfirmDataAnalysisCount,omitempty"` // 系统已自动确认数据数 - PendingUploadDataAnalysisCount int64 `protobuf:"varint,24,opt,name=pendingUploadDataAnalysisCount,proto3" json:"pendingUploadDataAnalysisCount,omitempty"` // 待发布数据数 - UploadSuccessDataAnalysisCount int64 `protobuf:"varint,25,opt,name=uploadSuccessDataAnalysisCount,proto3" json:"uploadSuccessDataAnalysisCount,omitempty"` // 发布成功数据数 - AbnormalAccountAcount int64 `protobuf:"varint,26,opt,name=abnormalAccountAcount,proto3" json:"abnormalAccountAcount,omitempty"` // 触发预警的账号数 + ReviewingDataAnalysisCount int64 `protobuf:"varint,19,opt,name=reviewingDataAnalysisCount,proto3" json:"reviewingDataAnalysisCount"` // 审核中数据数 + RejectDataAnalysisCount int64 `protobuf:"varint,20,opt,name=rejectDataAnalysisCount,proto3" json:"rejectDataAnalysisCount"` // 已驳回数据数 + WaitConfirmDataAnalysisCount int64 `protobuf:"varint,21,opt,name=waitConfirmDataAnalysisCount,proto3" json:"waitConfirmDataAnalysisCount"` // 待艺人确认数据数 + ArtistConfirmDataAnalysisCount int64 `protobuf:"varint,22,opt,name=artistConfirmDataAnalysisCount,proto3" json:"artistConfirmDataAnalysisCount"` // 艺人已验收确认数据数 + AutoConfirmDataAnalysisCount int64 `protobuf:"varint,23,opt,name=autoConfirmDataAnalysisCount,proto3" json:"autoConfirmDataAnalysisCount"` // 系统已自动确认数据数 + PendingUploadDataAnalysisCount int64 `protobuf:"varint,24,opt,name=pendingUploadDataAnalysisCount,proto3" json:"pendingUploadDataAnalysisCount"` // 待发布数据数 + UploadSuccessDataAnalysisCount int64 `protobuf:"varint,25,opt,name=uploadSuccessDataAnalysisCount,proto3" json:"uploadSuccessDataAnalysisCount"` // 发布成功数据数 + AbnormalAccountAcount int64 `protobuf:"varint,26,opt,name=abnormalAccountAcount,proto3" json:"abnormalAccountAcount"` // 触发预警的账号数 } func (x *MetricsOperatingStatusResp) Reset() { *x = MetricsOperatingStatusResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[120] + mi := &file_pb_bundle_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11981,7 +12743,7 @@ func (x *MetricsOperatingStatusResp) String() string { func (*MetricsOperatingStatusResp) ProtoMessage() {} func (x *MetricsOperatingStatusResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[120] + mi := &file_pb_bundle_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11994,7 +12756,7 @@ func (x *MetricsOperatingStatusResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsOperatingStatusResp.ProtoReflect.Descriptor instead. func (*MetricsOperatingStatusResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{120} + return file_pb_bundle_proto_rawDescGZIP(), []int{128} } func (x *MetricsOperatingStatusResp) GetDraftVideoCount() int64 { @@ -12184,13 +12946,13 @@ type MetricsBundlePurchaseExportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` + Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month"` } func (x *MetricsBundlePurchaseExportReq) Reset() { *x = MetricsBundlePurchaseExportReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[121] + mi := &file_pb_bundle_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12203,7 +12965,7 @@ func (x *MetricsBundlePurchaseExportReq) String() string { func (*MetricsBundlePurchaseExportReq) ProtoMessage() {} func (x *MetricsBundlePurchaseExportReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[121] + mi := &file_pb_bundle_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12216,7 +12978,7 @@ func (x *MetricsBundlePurchaseExportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsBundlePurchaseExportReq.ProtoReflect.Descriptor instead. func (*MetricsBundlePurchaseExportReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{121} + return file_pb_bundle_proto_rawDescGZIP(), []int{129} } func (x *MetricsBundlePurchaseExportReq) GetMonth() string { @@ -12231,13 +12993,13 @@ type MetricsBundlePurchaseExportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*MetricsBundlePurchaseItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Data []*MetricsBundlePurchaseItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` } func (x *MetricsBundlePurchaseExportResp) Reset() { *x = MetricsBundlePurchaseExportResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[122] + mi := &file_pb_bundle_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12250,7 +13012,7 @@ func (x *MetricsBundlePurchaseExportResp) String() string { func (*MetricsBundlePurchaseExportResp) ProtoMessage() {} func (x *MetricsBundlePurchaseExportResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[122] + mi := &file_pb_bundle_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12263,7 +13025,7 @@ func (x *MetricsBundlePurchaseExportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsBundlePurchaseExportResp.ProtoReflect.Descriptor instead. func (*MetricsBundlePurchaseExportResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{122} + return file_pb_bundle_proto_rawDescGZIP(), []int{130} } func (x *MetricsBundlePurchaseExportResp) GetData() []*MetricsBundlePurchaseItem { @@ -12278,26 +13040,26 @@ type MetricsBundlePurchaseItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo,omitempty"` - BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName,omitempty"` - UserNum string `protobuf:"bytes,3,opt,name=userNum,proto3" json:"userNum,omitempty"` - UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` - PhoneNumber string `protobuf:"bytes,5,opt,name=phoneNumber,proto3" json:"phoneNumber,omitempty"` - PayTime string `protobuf:"bytes,6,opt,name=payTime,proto3" json:"payTime,omitempty"` - BundleVideoCount int64 `protobuf:"varint,7,opt,name=bundleVideoCount,proto3" json:"bundleVideoCount,omitempty"` - IncreaseVideoCount int64 `protobuf:"varint,8,opt,name=increaseVideoCount,proto3" json:"increaseVideoCount,omitempty"` - BundleAmount float32 `protobuf:"fixed32,9,opt,name=bundleAmount,proto3" json:"bundleAmount,omitempty"` - IncreaseAmount float32 `protobuf:"fixed32,10,opt,name=increaseAmount,proto3" json:"increaseAmount,omitempty"` - PaymentAmount float32 `protobuf:"fixed32,11,opt,name=paymentAmount,proto3" json:"paymentAmount,omitempty"` - FinalAmount float32 `protobuf:"fixed32,12,opt,name=finalAmount,proto3" json:"finalAmount,omitempty"` - FeeAmount float32 `protobuf:"fixed32,13,opt,name=feeAmount,proto3" json:"feeAmount,omitempty"` - Rate int64 `protobuf:"varint,14,opt,name=rate,proto3" json:"rate,omitempty"` + OrderNo string `protobuf:"bytes,1,opt,name=orderNo,proto3" json:"orderNo"` + BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName"` + UserNum string `protobuf:"bytes,3,opt,name=userNum,proto3" json:"userNum"` + UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName"` + PhoneNumber string `protobuf:"bytes,5,opt,name=phoneNumber,proto3" json:"phoneNumber"` + PayTime string `protobuf:"bytes,6,opt,name=payTime,proto3" json:"payTime"` + BundleVideoCount int64 `protobuf:"varint,7,opt,name=bundleVideoCount,proto3" json:"bundleVideoCount"` + IncreaseVideoCount int64 `protobuf:"varint,8,opt,name=increaseVideoCount,proto3" json:"increaseVideoCount"` + BundleAmount float32 `protobuf:"fixed32,9,opt,name=bundleAmount,proto3" json:"bundleAmount"` + IncreaseAmount float32 `protobuf:"fixed32,10,opt,name=increaseAmount,proto3" json:"increaseAmount"` + PaymentAmount float32 `protobuf:"fixed32,11,opt,name=paymentAmount,proto3" json:"paymentAmount"` + FinalAmount float32 `protobuf:"fixed32,12,opt,name=finalAmount,proto3" json:"finalAmount"` + FeeAmount float32 `protobuf:"fixed32,13,opt,name=feeAmount,proto3" json:"feeAmount"` + Rate int64 `protobuf:"varint,14,opt,name=rate,proto3" json:"rate"` } func (x *MetricsBundlePurchaseItem) Reset() { *x = MetricsBundlePurchaseItem{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[123] + mi := &file_pb_bundle_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12310,7 +13072,7 @@ func (x *MetricsBundlePurchaseItem) String() string { func (*MetricsBundlePurchaseItem) ProtoMessage() {} func (x *MetricsBundlePurchaseItem) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[123] + mi := &file_pb_bundle_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12323,7 +13085,7 @@ func (x *MetricsBundlePurchaseItem) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsBundlePurchaseItem.ProtoReflect.Descriptor instead. func (*MetricsBundlePurchaseItem) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{123} + return file_pb_bundle_proto_rawDescGZIP(), []int{131} } func (x *MetricsBundlePurchaseItem) GetOrderNo() string { @@ -12429,13 +13191,13 @@ type MetricsArtistAccountExportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` + Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month"` } func (x *MetricsArtistAccountExportReq) Reset() { *x = MetricsArtistAccountExportReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[124] + mi := &file_pb_bundle_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12448,7 +13210,7 @@ func (x *MetricsArtistAccountExportReq) String() string { func (*MetricsArtistAccountExportReq) ProtoMessage() {} func (x *MetricsArtistAccountExportReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[124] + mi := &file_pb_bundle_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12461,7 +13223,7 @@ func (x *MetricsArtistAccountExportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsArtistAccountExportReq.ProtoReflect.Descriptor instead. func (*MetricsArtistAccountExportReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{124} + return file_pb_bundle_proto_rawDescGZIP(), []int{132} } func (x *MetricsArtistAccountExportReq) GetMonth() string { @@ -12476,13 +13238,13 @@ type MetricsArtistAccountExportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*MetricsArtistAccountExportItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Data []*MetricsArtistAccountExportItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` } func (x *MetricsArtistAccountExportResp) Reset() { *x = MetricsArtistAccountExportResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[125] + mi := &file_pb_bundle_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12495,7 +13257,7 @@ func (x *MetricsArtistAccountExportResp) String() string { func (*MetricsArtistAccountExportResp) ProtoMessage() {} func (x *MetricsArtistAccountExportResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[125] + mi := &file_pb_bundle_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12508,7 +13270,7 @@ func (x *MetricsArtistAccountExportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsArtistAccountExportResp.ProtoReflect.Descriptor instead. func (*MetricsArtistAccountExportResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{125} + return file_pb_bundle_proto_rawDescGZIP(), []int{133} } func (x *MetricsArtistAccountExportResp) GetData() []*MetricsArtistAccountExportItem { @@ -12523,22 +13285,22 @@ type MetricsArtistAccountExportItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName,omitempty"` - UserNum string `protobuf:"bytes,2,opt,name=userNum,proto3" json:"userNum,omitempty"` - DmAccount string `protobuf:"bytes,3,opt,name=dmAccount,proto3" json:"dmAccount,omitempty"` - DmNickname string `protobuf:"bytes,4,opt,name=dmNickname,proto3" json:"dmNickname,omitempty"` + ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` + UserNum string `protobuf:"bytes,2,opt,name=userNum,proto3" json:"userNum"` + DmAccount string `protobuf:"bytes,3,opt,name=dmAccount,proto3" json:"dmAccount"` + DmNickname string `protobuf:"bytes,4,opt,name=dmNickname,proto3" json:"dmNickname"` // string youtubeAccount = 3; 现在没有YouTube了 // string youtubeNickname = 4; - InstagramAccount string `protobuf:"bytes,5,opt,name=instagramAccount,proto3" json:"instagramAccount,omitempty"` - InstagramNickname string `protobuf:"bytes,6,opt,name=instagramNickname,proto3" json:"instagramNickname,omitempty"` - TiktokAccount string `protobuf:"bytes,7,opt,name=tiktokAccount,proto3" json:"tiktokAccount,omitempty"` - TiktokNickname string `protobuf:"bytes,8,opt,name=tiktokNickname,proto3" json:"tiktokNickname,omitempty"` + InstagramAccount string `protobuf:"bytes,5,opt,name=instagramAccount,proto3" json:"instagramAccount"` + InstagramNickname string `protobuf:"bytes,6,opt,name=instagramNickname,proto3" json:"instagramNickname"` + TiktokAccount string `protobuf:"bytes,7,opt,name=tiktokAccount,proto3" json:"tiktokAccount"` + TiktokNickname string `protobuf:"bytes,8,opt,name=tiktokNickname,proto3" json:"tiktokNickname"` } func (x *MetricsArtistAccountExportItem) Reset() { *x = MetricsArtistAccountExportItem{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[126] + mi := &file_pb_bundle_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12551,7 +13313,7 @@ func (x *MetricsArtistAccountExportItem) String() string { func (*MetricsArtistAccountExportItem) ProtoMessage() {} func (x *MetricsArtistAccountExportItem) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[126] + mi := &file_pb_bundle_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12564,7 +13326,7 @@ func (x *MetricsArtistAccountExportItem) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsArtistAccountExportItem.ProtoReflect.Descriptor instead. func (*MetricsArtistAccountExportItem) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{126} + return file_pb_bundle_proto_rawDescGZIP(), []int{134} } func (x *MetricsArtistAccountExportItem) GetArtistName() string { @@ -12628,13 +13390,13 @@ type MetricsVideoSubmitExportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` + Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month"` } func (x *MetricsVideoSubmitExportReq) Reset() { *x = MetricsVideoSubmitExportReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[127] + mi := &file_pb_bundle_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12647,7 +13409,7 @@ func (x *MetricsVideoSubmitExportReq) String() string { func (*MetricsVideoSubmitExportReq) ProtoMessage() {} func (x *MetricsVideoSubmitExportReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[127] + mi := &file_pb_bundle_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12660,7 +13422,7 @@ func (x *MetricsVideoSubmitExportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsVideoSubmitExportReq.ProtoReflect.Descriptor instead. func (*MetricsVideoSubmitExportReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{127} + return file_pb_bundle_proto_rawDescGZIP(), []int{135} } func (x *MetricsVideoSubmitExportReq) GetMonth() string { @@ -12675,13 +13437,13 @@ type MetricsVideoSubmitExportResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Data []*MetricsVideoSubmitExportItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Data []*MetricsVideoSubmitExportItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` } func (x *MetricsVideoSubmitExportResp) Reset() { *x = MetricsVideoSubmitExportResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[128] + mi := &file_pb_bundle_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12694,7 +13456,7 @@ func (x *MetricsVideoSubmitExportResp) String() string { func (*MetricsVideoSubmitExportResp) ProtoMessage() {} func (x *MetricsVideoSubmitExportResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[128] + mi := &file_pb_bundle_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12707,7 +13469,7 @@ func (x *MetricsVideoSubmitExportResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsVideoSubmitExportResp.ProtoReflect.Descriptor instead. func (*MetricsVideoSubmitExportResp) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{128} + return file_pb_bundle_proto_rawDescGZIP(), []int{136} } func (x *MetricsVideoSubmitExportResp) GetData() []*MetricsVideoSubmitExportItem { @@ -12722,18 +13484,18 @@ type MetricsVideoSubmitExportItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName,omitempty"` - UserNum string `protobuf:"bytes,2,opt,name=userNum,proto3" json:"userNum,omitempty"` - VideoTitle string `protobuf:"bytes,3,opt,name=videoTitle,proto3" json:"videoTitle,omitempty"` - DmUploadTime int64 `protobuf:"varint,4,opt,name=dmUploadTime,proto3" json:"dmUploadTime,omitempty"` - InstagramUploadTime int64 `protobuf:"varint,5,opt,name=instagramUploadTime,proto3" json:"instagramUploadTime,omitempty"` - TiktokUploadTime int64 `protobuf:"varint,6,opt,name=tiktokUploadTime,proto3" json:"tiktokUploadTime,omitempty"` + ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` + UserNum string `protobuf:"bytes,2,opt,name=userNum,proto3" json:"userNum"` + VideoTitle string `protobuf:"bytes,3,opt,name=videoTitle,proto3" json:"videoTitle"` + DmUploadTime int64 `protobuf:"varint,4,opt,name=dmUploadTime,proto3" json:"dmUploadTime"` + InstagramUploadTime int64 `protobuf:"varint,5,opt,name=instagramUploadTime,proto3" json:"instagramUploadTime"` + TiktokUploadTime int64 `protobuf:"varint,6,opt,name=tiktokUploadTime,proto3" json:"tiktokUploadTime"` } func (x *MetricsVideoSubmitExportItem) Reset() { *x = MetricsVideoSubmitExportItem{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[129] + mi := &file_pb_bundle_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12746,7 +13508,7 @@ func (x *MetricsVideoSubmitExportItem) String() string { func (*MetricsVideoSubmitExportItem) ProtoMessage() {} func (x *MetricsVideoSubmitExportItem) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[129] + mi := &file_pb_bundle_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12759,7 +13521,7 @@ func (x *MetricsVideoSubmitExportItem) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsVideoSubmitExportItem.ProtoReflect.Descriptor instead. func (*MetricsVideoSubmitExportItem) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{129} + return file_pb_bundle_proto_rawDescGZIP(), []int{137} } func (x *MetricsVideoSubmitExportItem) GetArtistName() string { @@ -12809,13 +13571,13 @@ type MetricsBalanceDetailExportReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` + Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month"` } func (x *MetricsBalanceDetailExportReq) Reset() { *x = MetricsBalanceDetailExportReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_bundle_proto_msgTypes[130] + mi := &file_pb_bundle_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12828,7 +13590,7 @@ func (x *MetricsBalanceDetailExportReq) String() string { func (*MetricsBalanceDetailExportReq) ProtoMessage() {} func (x *MetricsBalanceDetailExportReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_bundle_proto_msgTypes[130] + mi := &file_pb_bundle_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12841,7 +13603,7 @@ func (x *MetricsBalanceDetailExportReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MetricsBalanceDetailExportReq.ProtoReflect.Descriptor instead. func (*MetricsBalanceDetailExportReq) Descriptor() ([]byte, []int) { - return file_pb_bundle_proto_rawDescGZIP(), []int{130} + return file_pb_bundle_proto_rawDescGZIP(), []int{138} } func (x *MetricsBalanceDetailExportReq) GetMonth() string { @@ -14781,7 +15543,7 @@ var file_pb_bundle_proto_rawDesc = []byte{ 0x11, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x90, 0x01, 0x0a, 0x10, 0x54, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0xbc, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, @@ -14790,176 +15552,243 @@ var file_pb_bundle_proto_rawDesc = []byte{ 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8b, 0x01, - 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, - 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9c, 0x03, 0x0a, 0x12, - 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, - 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73, - 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6c, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0xef, 0x02, 0x0a, 0x11, 0x54, - 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, - 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, - 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x10, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfd, 0x02, 0x0a, - 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, - 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, - 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, - 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, - 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, - 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x32, 0x0a, 0x1a, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, + 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x54, 0x61, + 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xd6, 0x03, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, + 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, + 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x38, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0xc5, 0x03, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, + 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, + 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, + 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, + 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x36, 0x0a, 0x16, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x16, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfd, 0x02, 0x0a, 0x19, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, + 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, + 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, + 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x32, 0x0a, 0x1a, 0x52, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x41, 0x0a, 0x1b, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x22, 0x41, 0x0a, 0x1b, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0xea, 0x02, 0x0a, 0x18, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, - 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, - 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, - 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x22, 0x99, 0x01, 0x0a, 0x19, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, - 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xec, 0x04, 0x0a, - 0x14, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, - 0x55, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, - 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, - 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, - 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, - 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, 0x73, - 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, 0x0a, - 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x75, 0x0a, 0x1b, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, 0x75, 0x61, - 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, - 0x75, 0x6d, 0x22, 0xd1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x88, 0x03, 0x0a, 0x18, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, + 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, + 0x72, 0x74, 0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x6e, + 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x22, 0x99, 0x01, 0x0a, 0x19, 0x45, + 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xc4, 0x05, 0x0a, 0x14, 0x54, 0x61, 0x73, 0x6b, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x2c, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x63, 0x74, + 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, + 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x12, + 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, + 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, + 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x38, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc7, 0x03, + 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73, + 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x73, + 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, + 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, + 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x75, + 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, + 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x50, 0x6f, + 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x36, 0x0a, 0x16, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x16, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x31, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x22, 0x75, 0x0a, 0x1b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, + 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x4a, 0x0a, 0x1a, 0x54, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, 0x55, 0x55, + 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x22, 0x50, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, + 0x55, 0x55, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x22, 0x47, 0x0a, 0x21, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x79, 0x55, 0x55, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x73, 0x73, @@ -14972,7 +15801,7 @@ var file_pb_bundle_proto_rawDesc = []byte{ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xbf, 0x02, 0x0a, 0x1d, 0x54, 0x61, 0x73, 0x6b, 0x41, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x91, 0x03, 0x0a, 0x1d, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, @@ -14992,920 +15821,1032 @@ var file_pb_bundle_proto_rawDesc = []byte{ 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x1e, 0x54, 0x61, 0x73, - 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x56, 0x0a, 0x1a, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, - 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, - 0x6d, 0x22, 0xe9, 0x05, 0x0a, 0x1b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x69, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x1b, 0x69, 0x6e, 0x63, 0x72, 0x65, - 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x69, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, - 0x1e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, - 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, - 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, - 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x4a, 0x0a, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x20, 0x69, 0x6e, 0x63, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x73, + 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1f, 0x0a, 0x0b, 0x43, 0x6f, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9e, 0x01, 0x0a, 0x1e, + 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, + 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x89, 0x09, 0x0a, + 0x15, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x10, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, + 0x0a, 0x0f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, + 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x6f, 0x73, + 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x3c, 0x0a, 0x19, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x19, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, + 0x0a, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x69, 0x6e, 0x63, + 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x19, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x18, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, + 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, + 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, + 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x19, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x22, 0x56, 0x0a, 0x1a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xe9, 0x05, 0x0a, 0x1b, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x40, 0x0a, 0x1b, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x38, 0x0a, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x1e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, + 0x19, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x19, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x19, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x47, 0x0a, - 0x19, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x33, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x74, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, - 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5c, 0x0a, 0x12, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x55, 0x75, 0x69, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xcd, 0x0e, 0x0a, 0x13, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x3a, 0x0a, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, - 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, - 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x6e, 0x65, 0x77, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6e, 0x65, 0x77, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x3a, 0x0a, 0x18, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x18, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6e, - 0x65, 0x77, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, - 0x13, 0x6e, 0x65, 0x77, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6e, 0x65, 0x77, 0x46, - 0x65, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x52, 0x65, - 0x70, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x65, 0x77, 0x41, 0x64, - 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x11, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x3e, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x2a, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x49, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x6e, - 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6e, 0x65, 0x77, 0x52, 0x65, - 0x70, 0x6f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x30, 0x0a, 0x13, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6e, 0x65, - 0x77, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x3c, 0x0a, 0x19, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, - 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x42, 0x0a, 0x1c, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, - 0x73, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1c, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x47, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, + 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1c, + 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x33, 0x0a, 0x19, + 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x30, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, + 0x64, 0x22, 0xcd, 0x0e, 0x0a, 0x13, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x73, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x18, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x65, - 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, - 0x1e, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x15, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6e, 0x65, 0x77, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6e, - 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6e, 0x65, 0x77, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x6e, 0x65, 0x77, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x21, 0x6e, 0x65, 0x77, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1f, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x21, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x23, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x20, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x23, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x19, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa8, - 0x11, 0x0a, 0x1a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, - 0x20, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x6e, 0x65, 0x77, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x24, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, - 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, - 0x1b, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x1b, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x44, 0x0a, 0x1d, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, - 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, - 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, + 0x65, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x36, 0x0a, 0x16, 0x6e, 0x65, 0x77, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x16, 0x6e, 0x65, 0x77, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x18, 0x6e, 0x65, 0x77, 0x49, 0x6e, + 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x6e, 0x65, 0x77, 0x49, 0x6e, + 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6e, + 0x65, 0x77, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x34, 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, + 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x65, 0x77, 0x46, 0x65, 0x65, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x13, 0x6e, 0x65, 0x77, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0e, 0x6e, 0x65, 0x77, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6e, 0x65, 0x77, + 0x52, 0x65, 0x70, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2c, 0x0a, 0x11, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6e, 0x65, 0x77, 0x41, + 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, + 0x17, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, + 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x43, 0x6f, + 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x77, + 0x43, 0x6f, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x49, 0x6e, + 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x6e, + 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x14, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x65, 0x77, 0x41, 0x64, + 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x19, 0x6e, 0x65, 0x77, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6e, 0x65, + 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x6e, 0x65, 0x77, 0x43, 0x6f, + 0x73, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1c, 0x6e, + 0x65, 0x77, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x6e, + 0x65, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x65, 0x77, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x1e, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x6e, + 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, + 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x19, 0x6e, 0x65, 0x77, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6e, 0x65, - 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x20, 0x6e, 0x65, 0x77, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x22, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, - 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x6e, 0x65, 0x77, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, - 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1d, 0x6e, - 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, - 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x1d, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x44, 0x0a, 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x58, 0x0a, 0x27, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x27, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x29, 0x6e, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6e, 0x65, 0x77, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x3e, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x42, 0x0a, 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x15, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x6e, 0x65, 0x77, + 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x29, - 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x29, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x29, 0x74, 0x6f, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x1c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, + 0x1c, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x1c, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x4c, 0x0a, 0x21, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x21, 0x6e, 0x65, + 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x50, 0x0a, 0x23, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x03, 0x52, 0x23, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x43, 0x0a, 0x19, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xa8, 0x11, 0x0a, 0x1a, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x20, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x6e, + 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x52, 0x0a, 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x6e, 0x65, 0x77, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1d, 0x6e, 0x65, 0x77, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, + 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, + 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, + 0x1e, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x3c, 0x0a, 0x19, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x40, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x4a, 0x0a, 0x20, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x6e, 0x65, 0x77, + 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, + 0x22, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x6e, 0x65, 0x77, 0x50, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, + 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, + 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1d, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6e, 0x65, 0x77, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1d, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x48, 0x0a, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, + 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x27, 0x6e, 0x65, 0x77, + 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x27, 0x6e, 0x65, 0x77, 0x50, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x29, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x29, 0x6e, 0x65, 0x77, 0x50, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x5c, 0x0a, 0x29, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x29, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x60, 0x0a, 0x2b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x2b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x2b, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x2b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x6e, + 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x52, 0x0a, 0x24, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x22, 0x6e, 0x65, 0x77, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x24, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x24, 0x6e, 0x65, 0x77, + 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x26, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x26, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x6e, 0x65, 0x77, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, - 0x24, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x56, 0x0a, 0x26, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x64, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x26, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2f, 0x0a, 0x19, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x22, 0xe0, 0x0b, 0x0a, 0x1a, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x72, 0x61, - 0x66, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x13, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x74, 0x22, 0x2f, 0x0a, 0x19, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x65, 0x22, 0xe0, 0x0b, 0x0a, 0x1a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x64, 0x72, 0x61, 0x66, + 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, + 0x69, 0x6e, 0x67, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x34, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x15, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x38, 0x0a, 0x17, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x17, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x75, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x64, 0x72, - 0x61, 0x66, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, - 0x13, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x77, - 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x77, 0x61, 0x69, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x17, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x61, - 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x61, 0x75, 0x74, 0x6f, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x38, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x75, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, - 0x1a, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x1a, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, - 0x17, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, - 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, - 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x77, 0x61, 0x69, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x77, - 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x1e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x1e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x61, 0x75, 0x74, 0x6f, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x1e, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x1e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x38, 0x0a, 0x17, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x17, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x75, 0x74, + 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x38, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x64, + 0x72, 0x61, 0x66, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, + 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x13, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x15, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, + 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x69, + 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x46, 0x0a, 0x1e, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x0a, 0x1c, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x1e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1c, 0x61, + 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x1c, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x61, + 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x46, 0x0a, 0x1e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x62, 0x6e, 0x6f, 0x72, - 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x61, 0x62, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, - 0x1e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, - 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x22, 0x58, 0x0a, 0x1f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x1e, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x1e, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x61, + 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x34, 0x0a, 0x15, 0x61, 0x62, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, + 0x61, 0x62, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x1e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, - 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xe9, 0x03, 0x0a, 0x19, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, - 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, - 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x65, 0x65, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x65, - 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x22, 0x35, 0x0a, 0x1d, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, - 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, - 0x74, 0x68, 0x22, 0x5c, 0x0a, 0x1e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0xc0, 0x02, 0x0a, 0x1e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, - 0x09, 0x64, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x64, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, - 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x64, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x67, 0x72, 0x61, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x69, - 0x6b, 0x74, 0x6f, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, - 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x4e, 0x69, 0x63, 0x6b, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x1b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x22, 0x58, 0x0a, 0x1c, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, - 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0xfa, 0x01, 0x0a, 0x1c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, - 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x64, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, - 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0x35, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x32, 0xf6, 0x2e, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x6c, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x53, - 0x68, 0x65, 0x6c, 0x66, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x48, 0x61, - 0x6e, 0x64, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x14, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x56, 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, - 0x0a, 0x0e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x32, - 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x00, 0x12, - 0x49, 0x0a, 0x0e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x35, 0x56, - 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x12, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x32, - 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, - 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x13, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x1a, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, - 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x21, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, - 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, - 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x13, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x56, - 0x32, 0x12, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, - 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, - 0x22, 0x00, 0x12, 0x59, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, - 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6e, 0x0a, - 0x19, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x6e, - 0x6c, 0x79, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x63, 0x0a, - 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, - 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x63, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x1a, 0x14, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x60, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x24, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, - 0x61, 0x6e, 0x67, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x41, 0x6e, 0x64, 0x4c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x12, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x1b, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x12, 0x2a, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x22, 0x58, 0x0a, + 0x1f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe9, 0x03, 0x0a, 0x19, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, + 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, + 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, + 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, + 0x0c, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x61, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x65, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x72, + 0x61, 0x74, 0x65, 0x22, 0x35, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x22, 0x5c, 0x0a, 0x1e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, 0x02, 0x0a, 0x1e, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, + 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6d, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4e, 0x69, 0x63, 0x6b, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x0d, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x4e, 0x69, 0x63, + 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x69, 0x6b, + 0x74, 0x6f, 0x6b, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x1b, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, + 0x22, 0x58, 0x0a, 0x1c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xfa, 0x01, 0x0a, 0x1c, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, + 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x54, 0x69, + 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x6d, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, + 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x69, 0x6b, 0x74, 0x6f, 0x6b, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x1d, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x32, 0xe1, + 0x31, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x18, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x4b, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, - 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x17, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x41, 0x64, - 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x21, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x64, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x12, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, - 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x00, 0x12, 0x56, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x64, 0x69, 0x6f, 0x57, 0x6f, 0x72, - 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x64, 0x69, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x47, 0x65, 0x74, 0x56, 0x65, 0x64, 0x69, 0x6f, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x54, 0x6f, 0x42, - 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, - 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x6f, 0x42, 0x65, 0x43, 0x6f, 0x6d, - 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x6f, 0x42, 0x65, 0x43, 0x6f, 0x6d, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x12, - 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, - 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, - 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, - 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x3f, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x12, 0x18, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4c, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, - 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, - 0x0a, 0x28, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x53, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x41, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x79, 0x53, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x12, 0x3b, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x15, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x14, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, + 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, + 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x12, 0x19, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x32, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x35, 0x56, 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x12, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x67, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x32, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x67, + 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x42, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x4e, 0x6f, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x63, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6e, + 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x16, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x51, 0x0a, 0x13, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x41, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x23, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x41, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x12, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x32, 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x12, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, + 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x19, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x4e, 0x6f, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x79, + 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x64, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, + 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x14, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, + 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, + 0x6e, 0x67, 0x1a, 0x14, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x13, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x15, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x24, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x42, 0x79, 0x55, 0x75, 0x69, + 0x64, 0x41, 0x6e, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x24, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x22, + 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, + 0x61, 0x6e, 0x67, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4c, 0x61, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x17, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x67, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, + 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, + 0x1f, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x64, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x58, + 0x0a, 0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, + 0x75, 0x74, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, + 0x75, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x16, 0x53, + 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, + 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x52, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x56, 0x65, 0x64, 0x69, 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, + 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x64, 0x69, + 0x6f, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1f, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x64, 0x69, 0x6f, + 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x00, 0x12, 0x55, 0x0a, 0x12, 0x54, 0x6f, 0x42, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, + 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x54, 0x6f, 0x42, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x54, 0x6f, 0x42, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x1a, + 0x17, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, + 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, + 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x28, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x54, 0x69, + 0x6d, 0x65, 0x42, 0x79, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x13, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x12, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x18, 0x53, 0x6f, 0x66, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x27, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x57, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x17, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x18, 0x53, - 0x6f, 0x66, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x6e, 0x66, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x61, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x20, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x12, 0x23, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x4c, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x73, 0x69, - 0x6e, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x61, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x41, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, + 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x63, + 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x20, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, + 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, + 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, + 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, + 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x22, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x13, 0x54, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, 0x55, 0x55, 0x49, 0x44, + 0x12, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, 0x55, 0x55, 0x49, 0x44, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x42, 0x79, 0x55, 0x55, 0x49, 0x44, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x55, 0x55, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, + 0x79, 0x55, 0x55, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x48, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, + 0x73, 0x6b, 0x12, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x54, + 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, + 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x2e, 0x62, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x1b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x1b, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x27, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, - 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x1a, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x18, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, - 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x1a, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x18, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -15920,7 +16861,7 @@ func file_pb_bundle_proto_rawDescGZIP() []byte { return file_pb_bundle_proto_rawDescData } -var file_pb_bundle_proto_msgTypes = make([]protoimpl.MessageInfo, 131) +var file_pb_bundle_proto_msgTypes = make([]protoimpl.MessageInfo, 139) var file_pb_bundle_proto_goTypes = []interface{}{ (*DeleteValueAddServiceRequest)(nil), // 0: bundle.DeleteValueAddServiceRequest (*GetReconciliationListReq)(nil), // 1: bundle.GetReconciliationListReq @@ -16027,32 +16968,40 @@ var file_pb_bundle_proto_goTypes = []interface{}{ (*EmployeeTaskQueryRequest)(nil), // 102: bundle.EmployeeTaskQueryRequest (*EmployeeTaskQueryResponse)(nil), // 103: bundle.EmployeeTaskQueryResponse (*TaskAssignRecordInfo)(nil), // 104: bundle.TaskAssignRecordInfo - (*CompleteTaskManuallyRequest)(nil), // 105: bundle.CompleteTaskManuallyRequest - (*UpdateTaskProgressRequest)(nil), // 106: bundle.UpdateTaskProgressRequest - (*TaskAssignRecordsQueryRequest)(nil), // 107: bundle.TaskAssignRecordsQueryRequest - (*TaskAssignRecordsQueryResponse)(nil), // 108: bundle.TaskAssignRecordsQueryResponse - (*ArtistBundleBalanceRequest)(nil), // 109: bundle.ArtistBundleBalanceRequest - (*ArtistBundleBalanceResponse)(nil), // 110: bundle.ArtistBundleBalanceResponse - (*SetBundleBalanceLayoutReq)(nil), // 111: bundle.SetBundleBalanceLayoutReq - (*SetBundleBalanceLayoutResp)(nil), // 112: bundle.SetBundleBalanceLayoutResp - (*GetBundleBalanceLayoutReq)(nil), // 113: bundle.GetBundleBalanceLayoutReq - (*GetBundleBalanceLayoutResp)(nil), // 114: bundle.GetBundleBalanceLayoutResp - (*MetricsBusinessReq)(nil), // 115: bundle.MetricsBusinessReq - (*MetricsBusinessResp)(nil), // 116: bundle.MetricsBusinessResp - (*MetricsOperatingCreateReq)(nil), // 117: bundle.MetricsOperatingCreateReq - (*MetricsOperatingCreateResp)(nil), // 118: bundle.MetricsOperatingCreateResp - (*MetricsOperatingStatusReq)(nil), // 119: bundle.MetricsOperatingStatusReq - (*MetricsOperatingStatusResp)(nil), // 120: bundle.MetricsOperatingStatusResp - (*MetricsBundlePurchaseExportReq)(nil), // 121: bundle.MetricsBundlePurchaseExportReq - (*MetricsBundlePurchaseExportResp)(nil), // 122: bundle.MetricsBundlePurchaseExportResp - (*MetricsBundlePurchaseItem)(nil), // 123: bundle.MetricsBundlePurchaseItem - (*MetricsArtistAccountExportReq)(nil), // 124: bundle.MetricsArtistAccountExportReq - (*MetricsArtistAccountExportResp)(nil), // 125: bundle.MetricsArtistAccountExportResp - (*MetricsArtistAccountExportItem)(nil), // 126: bundle.MetricsArtistAccountExportItem - (*MetricsVideoSubmitExportReq)(nil), // 127: bundle.MetricsVideoSubmitExportReq - (*MetricsVideoSubmitExportResp)(nil), // 128: bundle.MetricsVideoSubmitExportResp - (*MetricsVideoSubmitExportItem)(nil), // 129: bundle.MetricsVideoSubmitExportItem - (*MetricsBalanceDetailExportReq)(nil), // 130: bundle.MetricsBalanceDetailExportReq + (*BatchAssignTaskItem)(nil), // 105: bundle.BatchAssignTaskItem + (*BatchAssignTaskRequest)(nil), // 106: bundle.BatchAssignTaskRequest + (*CompleteTaskManuallyRequest)(nil), // 107: bundle.CompleteTaskManuallyRequest + (*TerminateTaskByUUIDRequest)(nil), // 108: bundle.TerminateTaskByUUIDRequest + (*GetTaskActualStatusByUUIDRequest)(nil), // 109: bundle.GetTaskActualStatusByUUIDRequest + (*GetTaskActualStatusByUUIDResponse)(nil), // 110: bundle.GetTaskActualStatusByUUIDResponse + (*UpdateTaskProgressRequest)(nil), // 111: bundle.UpdateTaskProgressRequest + (*TaskAssignRecordsQueryRequest)(nil), // 112: bundle.TaskAssignRecordsQueryRequest + (*ComResponse)(nil), // 113: bundle.ComResponse + (*TaskAssignRecordsQueryResponse)(nil), // 114: bundle.TaskAssignRecordsQueryResponse + (*ArtistUploadStatsItem)(nil), // 115: bundle.ArtistUploadStatsItem + (*ArtistUploadStatsResponse)(nil), // 116: bundle.ArtistUploadStatsResponse + (*ArtistBundleBalanceRequest)(nil), // 117: bundle.ArtistBundleBalanceRequest + (*ArtistBundleBalanceResponse)(nil), // 118: bundle.ArtistBundleBalanceResponse + (*SetBundleBalanceLayoutReq)(nil), // 119: bundle.SetBundleBalanceLayoutReq + (*SetBundleBalanceLayoutResp)(nil), // 120: bundle.SetBundleBalanceLayoutResp + (*GetBundleBalanceLayoutReq)(nil), // 121: bundle.GetBundleBalanceLayoutReq + (*GetBundleBalanceLayoutResp)(nil), // 122: bundle.GetBundleBalanceLayoutResp + (*MetricsBusinessReq)(nil), // 123: bundle.MetricsBusinessReq + (*MetricsBusinessResp)(nil), // 124: bundle.MetricsBusinessResp + (*MetricsOperatingCreateReq)(nil), // 125: bundle.MetricsOperatingCreateReq + (*MetricsOperatingCreateResp)(nil), // 126: bundle.MetricsOperatingCreateResp + (*MetricsOperatingStatusReq)(nil), // 127: bundle.MetricsOperatingStatusReq + (*MetricsOperatingStatusResp)(nil), // 128: bundle.MetricsOperatingStatusResp + (*MetricsBundlePurchaseExportReq)(nil), // 129: bundle.MetricsBundlePurchaseExportReq + (*MetricsBundlePurchaseExportResp)(nil), // 130: bundle.MetricsBundlePurchaseExportResp + (*MetricsBundlePurchaseItem)(nil), // 131: bundle.MetricsBundlePurchaseItem + (*MetricsArtistAccountExportReq)(nil), // 132: bundle.MetricsArtistAccountExportReq + (*MetricsArtistAccountExportResp)(nil), // 133: bundle.MetricsArtistAccountExportResp + (*MetricsArtistAccountExportItem)(nil), // 134: bundle.MetricsArtistAccountExportItem + (*MetricsVideoSubmitExportReq)(nil), // 135: bundle.MetricsVideoSubmitExportReq + (*MetricsVideoSubmitExportResp)(nil), // 136: bundle.MetricsVideoSubmitExportResp + (*MetricsVideoSubmitExportItem)(nil), // 137: bundle.MetricsVideoSubmitExportItem + (*MetricsBalanceDetailExportReq)(nil), // 138: bundle.MetricsBalanceDetailExportReq } var file_pb_bundle_proto_depIdxs = []int32{ 3, // 0: bundle.GetReconciliationListResp.list:type_name -> bundle.ReconciliationInfo @@ -16087,151 +17036,161 @@ var file_pb_bundle_proto_depIdxs = []int32{ 91, // 29: bundle.UnfinishedInfos.unfinishedInfos:type_name -> bundle.UnfinishedInfo 97, // 30: bundle.TaskQueryResponse.tasks:type_name -> bundle.TaskManagementInfo 104, // 31: bundle.EmployeeTaskQueryResponse.records:type_name -> bundle.TaskAssignRecordInfo - 104, // 32: bundle.TaskAssignRecordsQueryResponse.records:type_name -> bundle.TaskAssignRecordInfo - 123, // 33: bundle.MetricsBundlePurchaseExportResp.data:type_name -> bundle.MetricsBundlePurchaseItem - 126, // 34: bundle.MetricsArtistAccountExportResp.data:type_name -> bundle.MetricsArtistAccountExportItem - 129, // 35: bundle.MetricsVideoSubmitExportResp.data:type_name -> bundle.MetricsVideoSubmitExportItem - 14, // 36: bundle.Bundle.CreateBundle:input_type -> bundle.BundleProfile - 14, // 37: bundle.Bundle.UpdateBundle:input_type -> bundle.BundleProfile - 20, // 38: bundle.Bundle.DeleteBundle:input_type -> bundle.DelBundleRequest - 24, // 39: bundle.Bundle.HandShelf:input_type -> bundle.HandShelfRequest - 14, // 40: bundle.Bundle.SaveBundle:input_type -> bundle.BundleProfile - 21, // 41: bundle.Bundle.BundleListV2:input_type -> bundle.BundleListRequest - 23, // 42: bundle.Bundle.BundleDetailV2:input_type -> bundle.BundleDetailRequest - 21, // 43: bundle.Bundle.BundleListH5V2:input_type -> bundle.BundleListRequest - 23, // 44: bundle.Bundle.BundleLangDetailV2:input_type -> bundle.BundleDetailRequest - 21, // 45: bundle.Bundle.BundleList:input_type -> bundle.BundleListRequest - 23, // 46: bundle.Bundle.BundleDetail:input_type -> bundle.BundleDetailRequest - 6, // 47: bundle.Bundle.CreateOrderRecord:input_type -> bundle.OrderCreateRecord - 27, // 48: bundle.Bundle.UpdateOrderRecord:input_type -> bundle.OrderRecord - 27, // 49: bundle.Bundle.UpdateOrderRecordByOrderNo:input_type -> bundle.OrderRecord - 32, // 50: bundle.Bundle.OrderRecordsList:input_type -> bundle.OrderRecordsRequest - 34, // 51: bundle.Bundle.OrderRecordsDetail:input_type -> bundle.OrderRecordsDetailRequest - 43, // 52: bundle.Bundle.UpdateFinancialConfirmationStatus:input_type -> bundle.FinancialConfirmationRequest - 29, // 53: bundle.Bundle.CreateOrderAddRecord:input_type -> bundle.OrderAddRecord - 27, // 54: bundle.Bundle.PackagePriceAndTime:input_type -> bundle.OrderRecord - 8, // 55: bundle.Bundle.OrderRecordsListV2:input_type -> bundle.OrderRecordsRequestV2 - 4, // 56: bundle.Bundle.OrderListByOrderNo:input_type -> bundle.OrderInfoByOrderNoRequest - 83, // 57: bundle.Bundle.OnlyAddValueListByOrderNo:input_type -> bundle.OnlyAddValueListByOrderNoRequest - 37, // 58: bundle.Bundle.CreateValueAddBundle:input_type -> bundle.CreateValueAddBundleRequest - 39, // 59: bundle.Bundle.ValueAddBundleList:input_type -> bundle.ValueAddBundleListRequest - 41, // 60: bundle.Bundle.ValueAddBundleDetail:input_type -> bundle.ValueAddBundleDetailRequest - 45, // 61: bundle.Bundle.SaveValueAddService:input_type -> bundle.ValueAddServiceLang - 47, // 62: bundle.Bundle.ValueAddServiceList:input_type -> bundle.ValueAddServiceListRequest - 49, // 63: bundle.Bundle.ValueAddServiceDetail:input_type -> bundle.ValueAddServiceDetailRequest - 49, // 64: bundle.Bundle.ValueAddServiceLangByUuidAndLanguage:input_type -> bundle.ValueAddServiceDetailRequest - 51, // 65: bundle.Bundle.CalculatePrice:input_type -> bundle.CalculatePriceRequest - 53, // 66: bundle.Bundle.BatchGetValueAddServiceLang:input_type -> bundle.BatchGetValueAddServiceLangRequest - 0, // 67: bundle.Bundle.DeleteValueAddService:input_type -> bundle.DeleteValueAddServiceRequest - 55, // 68: bundle.Bundle.BundleExtend:input_type -> bundle.BundleExtendRequest - 57, // 69: bundle.Bundle.BundleExtendRecordsList:input_type -> bundle.BundleExtendRecordsListRequest - 60, // 70: bundle.Bundle.GetBundleBalanceList:input_type -> bundle.GetBundleBalanceListReq - 81, // 71: bundle.Bundle.GetBundleBalanceByUserId:input_type -> bundle.GetBundleBalanceByUserIdReq - 67, // 72: bundle.Bundle.CreateBundleBalance:input_type -> bundle.CreateBundleBalanceReq - 69, // 73: bundle.Bundle.AddBundleBalance:input_type -> bundle.AddBundleBalanceReq - 93, // 74: bundle.Bundle.BundleActivate:input_type -> bundle.BundleActivateReq - 64, // 75: bundle.Bundle.BundleBalanceExport:input_type -> bundle.BundleBalanceExportReq - 113, // 76: bundle.Bundle.GetBundleBalanceLayout:input_type -> bundle.GetBundleBalanceLayoutReq - 111, // 77: bundle.Bundle.SetBundleBalanceLayout:input_type -> bundle.SetBundleBalanceLayoutReq - 71, // 78: bundle.Bundle.GetUsedRecordList:input_type -> bundle.GetUsedRecordListReq - 74, // 79: bundle.Bundle.GetImageWorkDetail:input_type -> bundle.GetImageWorkDetailReq - 75, // 80: bundle.Bundle.GetVedioWorkDetail:input_type -> bundle.GetVedioWorkDetailReq - 78, // 81: bundle.Bundle.ToBeComfirmedWorks:input_type -> bundle.ToBeComfirmedWorksReq - 87, // 82: bundle.Bundle.ConfirmWork:input_type -> bundle.ConfirmWorkReq - 1, // 83: bundle.Bundle.GetReconciliationList:input_type -> bundle.GetReconciliationListReq - 3, // 84: bundle.Bundle.CreateReconciliation:input_type -> bundle.ReconciliationInfo - 3, // 85: bundle.Bundle.UpdateReconciliation:input_type -> bundle.ReconciliationInfo - 86, // 86: bundle.Bundle.UpdateReconciliationStatusBySerialNumber:input_type -> bundle.UpdateStatusAndPayTimeBySerialNumber - 89, // 87: bundle.Bundle.ListUnfinishedInfos:input_type -> bundle.AutoCreateUserAndOrderRequest - 92, // 88: bundle.Bundle.SoftDeleteUnfinishedInfo:input_type -> bundle.SoftDeleteUnfinishedInfoRequest - 95, // 89: bundle.Bundle.GetPendingTaskList:input_type -> bundle.TaskQueryRequest - 98, // 90: bundle.Bundle.AssignTask:input_type -> bundle.TaskAssignRequest - 99, // 91: bundle.Bundle.UpdatePendingCount:input_type -> bundle.UpdatePendingCountRequest - 100, // 92: bundle.Bundle.GetRecentAssignRecords:input_type -> bundle.RecentAssignRecordsRequest - 102, // 93: bundle.Bundle.GetEmployeeAssignedTasks:input_type -> bundle.EmployeeTaskQueryRequest - 105, // 94: bundle.Bundle.CompleteTaskManually:input_type -> bundle.CompleteTaskManuallyRequest - 106, // 95: bundle.Bundle.UpdateTaskProgress:input_type -> bundle.UpdateTaskProgressRequest - 107, // 96: bundle.Bundle.GetTaskAssignRecordsList:input_type -> bundle.TaskAssignRecordsQueryRequest - 109, // 97: bundle.Bundle.GetArtistBundleBalance:input_type -> bundle.ArtistBundleBalanceRequest - 115, // 98: bundle.Bundle.MetricsBusiness:input_type -> bundle.MetricsBusinessReq - 117, // 99: bundle.Bundle.MetricsOperatingCreate:input_type -> bundle.MetricsOperatingCreateReq - 119, // 100: bundle.Bundle.MetricsOperatingStatus:input_type -> bundle.MetricsOperatingStatusReq - 121, // 101: bundle.Bundle.MetricsBundlePurchaseExport:input_type -> bundle.MetricsBundlePurchaseExportReq - 124, // 102: bundle.Bundle.MetricsArtistAccountExport:input_type -> bundle.MetricsArtistAccountExportReq - 127, // 103: bundle.Bundle.MetricsVideoSubmitExport:input_type -> bundle.MetricsVideoSubmitExportReq - 13, // 104: bundle.Bundle.CreateBundle:output_type -> bundle.CommonResponse - 13, // 105: bundle.Bundle.UpdateBundle:output_type -> bundle.CommonResponse - 13, // 106: bundle.Bundle.DeleteBundle:output_type -> bundle.CommonResponse - 13, // 107: bundle.Bundle.HandShelf:output_type -> bundle.CommonResponse - 17, // 108: bundle.Bundle.SaveBundle:output_type -> bundle.SaveResponse - 22, // 109: bundle.Bundle.BundleListV2:output_type -> bundle.BundleListResponse - 26, // 110: bundle.Bundle.BundleDetailV2:output_type -> bundle.BundleDetailResponseV2 - 22, // 111: bundle.Bundle.BundleListH5V2:output_type -> bundle.BundleListResponse - 15, // 112: bundle.Bundle.BundleLangDetailV2:output_type -> bundle.BundleProfileLang - 22, // 113: bundle.Bundle.BundleList:output_type -> bundle.BundleListResponse - 25, // 114: bundle.Bundle.BundleDetail:output_type -> bundle.BundleDetailResponse - 13, // 115: bundle.Bundle.CreateOrderRecord:output_type -> bundle.CommonResponse - 13, // 116: bundle.Bundle.UpdateOrderRecord:output_type -> bundle.CommonResponse - 13, // 117: bundle.Bundle.UpdateOrderRecordByOrderNo:output_type -> bundle.CommonResponse - 33, // 118: bundle.Bundle.OrderRecordsList:output_type -> bundle.OrderRecordsResponse - 35, // 119: bundle.Bundle.OrderRecordsDetail:output_type -> bundle.OrderRecordsDetailResponse - 13, // 120: bundle.Bundle.UpdateFinancialConfirmationStatus:output_type -> bundle.CommonResponse - 13, // 121: bundle.Bundle.CreateOrderAddRecord:output_type -> bundle.CommonResponse - 12, // 122: bundle.Bundle.PackagePriceAndTime:output_type -> bundle.PackagePriceAndTimeResponse - 9, // 123: bundle.Bundle.OrderRecordsListV2:output_type -> bundle.OrderRecordsResponseV2 - 5, // 124: bundle.Bundle.OrderListByOrderNo:output_type -> bundle.OrderInfoByOrderNoResp - 84, // 125: bundle.Bundle.OnlyAddValueListByOrderNo:output_type -> bundle.OnlyAddValueListByOrderNoResp - 38, // 126: bundle.Bundle.CreateValueAddBundle:output_type -> bundle.CreateValueAddBundleResponse - 40, // 127: bundle.Bundle.ValueAddBundleList:output_type -> bundle.ValueAddBundleListResponse - 42, // 128: bundle.Bundle.ValueAddBundleDetail:output_type -> bundle.ValueAddBundleDetailResponse - 17, // 129: bundle.Bundle.SaveValueAddService:output_type -> bundle.SaveResponse - 48, // 130: bundle.Bundle.ValueAddServiceList:output_type -> bundle.ValueAddServiceListResponse - 50, // 131: bundle.Bundle.ValueAddServiceDetail:output_type -> bundle.ValueAddServiceDetailResponse - 45, // 132: bundle.Bundle.ValueAddServiceLangByUuidAndLanguage:output_type -> bundle.ValueAddServiceLang - 52, // 133: bundle.Bundle.CalculatePrice:output_type -> bundle.CalculatePriceResponse - 54, // 134: bundle.Bundle.BatchGetValueAddServiceLang:output_type -> bundle.BatchGetValueAddServiceLangResponse - 13, // 135: bundle.Bundle.DeleteValueAddService:output_type -> bundle.CommonResponse - 56, // 136: bundle.Bundle.BundleExtend:output_type -> bundle.BundleExtendResponse - 58, // 137: bundle.Bundle.BundleExtendRecordsList:output_type -> bundle.BundleExtendRecordsListResponse - 66, // 138: bundle.Bundle.GetBundleBalanceList:output_type -> bundle.GetBundleBalanceListResp - 82, // 139: bundle.Bundle.GetBundleBalanceByUserId:output_type -> bundle.GetBundleBalanceByUserIdResp - 68, // 140: bundle.Bundle.CreateBundleBalance:output_type -> bundle.CreateBundleBalanceResp - 70, // 141: bundle.Bundle.AddBundleBalance:output_type -> bundle.AddBundleBalanceResp - 94, // 142: bundle.Bundle.BundleActivate:output_type -> bundle.BundleActivateResp - 65, // 143: bundle.Bundle.BundleBalanceExport:output_type -> bundle.BundleBalanceExportResp - 114, // 144: bundle.Bundle.GetBundleBalanceLayout:output_type -> bundle.GetBundleBalanceLayoutResp - 112, // 145: bundle.Bundle.SetBundleBalanceLayout:output_type -> bundle.SetBundleBalanceLayoutResp - 72, // 146: bundle.Bundle.GetUsedRecordList:output_type -> bundle.GetUsedRecordListResp - 76, // 147: bundle.Bundle.GetImageWorkDetail:output_type -> bundle.GetImageWorkDetailResp - 77, // 148: bundle.Bundle.GetVedioWorkDetail:output_type -> bundle.GetVedioeWorkDetailResp - 80, // 149: bundle.Bundle.ToBeComfirmedWorks:output_type -> bundle.ToBeComfirmedWorksResp - 88, // 150: bundle.Bundle.ConfirmWork:output_type -> bundle.ConfirmWorkResp - 2, // 151: bundle.Bundle.GetReconciliationList:output_type -> bundle.GetReconciliationListResp - 13, // 152: bundle.Bundle.CreateReconciliation:output_type -> bundle.CommonResponse - 13, // 153: bundle.Bundle.UpdateReconciliation:output_type -> bundle.CommonResponse - 13, // 154: bundle.Bundle.UpdateReconciliationStatusBySerialNumber:output_type -> bundle.CommonResponse - 90, // 155: bundle.Bundle.ListUnfinishedInfos:output_type -> bundle.UnfinishedInfos - 13, // 156: bundle.Bundle.SoftDeleteUnfinishedInfo:output_type -> bundle.CommonResponse - 96, // 157: bundle.Bundle.GetPendingTaskList:output_type -> bundle.TaskQueryResponse - 13, // 158: bundle.Bundle.AssignTask:output_type -> bundle.CommonResponse - 13, // 159: bundle.Bundle.UpdatePendingCount:output_type -> bundle.CommonResponse - 101, // 160: bundle.Bundle.GetRecentAssignRecords:output_type -> bundle.RecentAssignRecordsResponse - 103, // 161: bundle.Bundle.GetEmployeeAssignedTasks:output_type -> bundle.EmployeeTaskQueryResponse - 13, // 162: bundle.Bundle.CompleteTaskManually:output_type -> bundle.CommonResponse - 13, // 163: bundle.Bundle.UpdateTaskProgress:output_type -> bundle.CommonResponse - 108, // 164: bundle.Bundle.GetTaskAssignRecordsList:output_type -> bundle.TaskAssignRecordsQueryResponse - 110, // 165: bundle.Bundle.GetArtistBundleBalance:output_type -> bundle.ArtistBundleBalanceResponse - 116, // 166: bundle.Bundle.MetricsBusiness:output_type -> bundle.MetricsBusinessResp - 118, // 167: bundle.Bundle.MetricsOperatingCreate:output_type -> bundle.MetricsOperatingCreateResp - 120, // 168: bundle.Bundle.MetricsOperatingStatus:output_type -> bundle.MetricsOperatingStatusResp - 122, // 169: bundle.Bundle.MetricsBundlePurchaseExport:output_type -> bundle.MetricsBundlePurchaseExportResp - 125, // 170: bundle.Bundle.MetricsArtistAccountExport:output_type -> bundle.MetricsArtistAccountExportResp - 128, // 171: bundle.Bundle.MetricsVideoSubmitExport:output_type -> bundle.MetricsVideoSubmitExportResp - 104, // [104:172] is the sub-list for method output_type - 36, // [36:104] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 105, // 32: bundle.BatchAssignTaskRequest.items:type_name -> bundle.BatchAssignTaskItem + 104, // 33: bundle.TaskAssignRecordsQueryResponse.records:type_name -> bundle.TaskAssignRecordInfo + 115, // 34: bundle.ArtistUploadStatsResponse.items:type_name -> bundle.ArtistUploadStatsItem + 131, // 35: bundle.MetricsBundlePurchaseExportResp.data:type_name -> bundle.MetricsBundlePurchaseItem + 134, // 36: bundle.MetricsArtistAccountExportResp.data:type_name -> bundle.MetricsArtistAccountExportItem + 137, // 37: bundle.MetricsVideoSubmitExportResp.data:type_name -> bundle.MetricsVideoSubmitExportItem + 14, // 38: bundle.Bundle.CreateBundle:input_type -> bundle.BundleProfile + 14, // 39: bundle.Bundle.UpdateBundle:input_type -> bundle.BundleProfile + 20, // 40: bundle.Bundle.DeleteBundle:input_type -> bundle.DelBundleRequest + 24, // 41: bundle.Bundle.HandShelf:input_type -> bundle.HandShelfRequest + 14, // 42: bundle.Bundle.SaveBundle:input_type -> bundle.BundleProfile + 21, // 43: bundle.Bundle.BundleListV2:input_type -> bundle.BundleListRequest + 23, // 44: bundle.Bundle.BundleDetailV2:input_type -> bundle.BundleDetailRequest + 21, // 45: bundle.Bundle.BundleListH5V2:input_type -> bundle.BundleListRequest + 23, // 46: bundle.Bundle.BundleLangDetailV2:input_type -> bundle.BundleDetailRequest + 21, // 47: bundle.Bundle.BundleList:input_type -> bundle.BundleListRequest + 23, // 48: bundle.Bundle.BundleDetail:input_type -> bundle.BundleDetailRequest + 6, // 49: bundle.Bundle.CreateOrderRecord:input_type -> bundle.OrderCreateRecord + 27, // 50: bundle.Bundle.UpdateOrderRecord:input_type -> bundle.OrderRecord + 27, // 51: bundle.Bundle.UpdateOrderRecordByOrderNo:input_type -> bundle.OrderRecord + 32, // 52: bundle.Bundle.OrderRecordsList:input_type -> bundle.OrderRecordsRequest + 34, // 53: bundle.Bundle.OrderRecordsDetail:input_type -> bundle.OrderRecordsDetailRequest + 43, // 54: bundle.Bundle.UpdateFinancialConfirmationStatus:input_type -> bundle.FinancialConfirmationRequest + 29, // 55: bundle.Bundle.CreateOrderAddRecord:input_type -> bundle.OrderAddRecord + 27, // 56: bundle.Bundle.PackagePriceAndTime:input_type -> bundle.OrderRecord + 8, // 57: bundle.Bundle.OrderRecordsListV2:input_type -> bundle.OrderRecordsRequestV2 + 4, // 58: bundle.Bundle.OrderListByOrderNo:input_type -> bundle.OrderInfoByOrderNoRequest + 83, // 59: bundle.Bundle.OnlyAddValueListByOrderNo:input_type -> bundle.OnlyAddValueListByOrderNoRequest + 37, // 60: bundle.Bundle.CreateValueAddBundle:input_type -> bundle.CreateValueAddBundleRequest + 39, // 61: bundle.Bundle.ValueAddBundleList:input_type -> bundle.ValueAddBundleListRequest + 41, // 62: bundle.Bundle.ValueAddBundleDetail:input_type -> bundle.ValueAddBundleDetailRequest + 45, // 63: bundle.Bundle.SaveValueAddService:input_type -> bundle.ValueAddServiceLang + 47, // 64: bundle.Bundle.ValueAddServiceList:input_type -> bundle.ValueAddServiceListRequest + 49, // 65: bundle.Bundle.ValueAddServiceDetail:input_type -> bundle.ValueAddServiceDetailRequest + 49, // 66: bundle.Bundle.ValueAddServiceLangByUuidAndLanguage:input_type -> bundle.ValueAddServiceDetailRequest + 51, // 67: bundle.Bundle.CalculatePrice:input_type -> bundle.CalculatePriceRequest + 53, // 68: bundle.Bundle.BatchGetValueAddServiceLang:input_type -> bundle.BatchGetValueAddServiceLangRequest + 0, // 69: bundle.Bundle.DeleteValueAddService:input_type -> bundle.DeleteValueAddServiceRequest + 55, // 70: bundle.Bundle.BundleExtend:input_type -> bundle.BundleExtendRequest + 57, // 71: bundle.Bundle.BundleExtendRecordsList:input_type -> bundle.BundleExtendRecordsListRequest + 60, // 72: bundle.Bundle.GetBundleBalanceList:input_type -> bundle.GetBundleBalanceListReq + 81, // 73: bundle.Bundle.GetBundleBalanceByUserId:input_type -> bundle.GetBundleBalanceByUserIdReq + 67, // 74: bundle.Bundle.CreateBundleBalance:input_type -> bundle.CreateBundleBalanceReq + 69, // 75: bundle.Bundle.AddBundleBalance:input_type -> bundle.AddBundleBalanceReq + 93, // 76: bundle.Bundle.BundleActivate:input_type -> bundle.BundleActivateReq + 64, // 77: bundle.Bundle.BundleBalanceExport:input_type -> bundle.BundleBalanceExportReq + 121, // 78: bundle.Bundle.GetBundleBalanceLayout:input_type -> bundle.GetBundleBalanceLayoutReq + 119, // 79: bundle.Bundle.SetBundleBalanceLayout:input_type -> bundle.SetBundleBalanceLayoutReq + 71, // 80: bundle.Bundle.GetUsedRecordList:input_type -> bundle.GetUsedRecordListReq + 74, // 81: bundle.Bundle.GetImageWorkDetail:input_type -> bundle.GetImageWorkDetailReq + 75, // 82: bundle.Bundle.GetVedioWorkDetail:input_type -> bundle.GetVedioWorkDetailReq + 78, // 83: bundle.Bundle.ToBeComfirmedWorks:input_type -> bundle.ToBeComfirmedWorksReq + 87, // 84: bundle.Bundle.ConfirmWork:input_type -> bundle.ConfirmWorkReq + 1, // 85: bundle.Bundle.GetReconciliationList:input_type -> bundle.GetReconciliationListReq + 3, // 86: bundle.Bundle.CreateReconciliation:input_type -> bundle.ReconciliationInfo + 3, // 87: bundle.Bundle.UpdateReconciliation:input_type -> bundle.ReconciliationInfo + 86, // 88: bundle.Bundle.UpdateReconciliationStatusBySerialNumber:input_type -> bundle.UpdateStatusAndPayTimeBySerialNumber + 89, // 89: bundle.Bundle.ListUnfinishedInfos:input_type -> bundle.AutoCreateUserAndOrderRequest + 92, // 90: bundle.Bundle.SoftDeleteUnfinishedInfo:input_type -> bundle.SoftDeleteUnfinishedInfoRequest + 95, // 91: bundle.Bundle.GetPendingTaskList:input_type -> bundle.TaskQueryRequest + 98, // 92: bundle.Bundle.AssignTask:input_type -> bundle.TaskAssignRequest + 99, // 93: bundle.Bundle.UpdatePendingCount:input_type -> bundle.UpdatePendingCountRequest + 100, // 94: bundle.Bundle.GetRecentAssignRecords:input_type -> bundle.RecentAssignRecordsRequest + 102, // 95: bundle.Bundle.GetEmployeeAssignedTasks:input_type -> bundle.EmployeeTaskQueryRequest + 107, // 96: bundle.Bundle.CompleteTaskManually:input_type -> bundle.CompleteTaskManuallyRequest + 111, // 97: bundle.Bundle.UpdateTaskProgress:input_type -> bundle.UpdateTaskProgressRequest + 112, // 98: bundle.Bundle.GetTaskAssignRecordsList:input_type -> bundle.TaskAssignRecordsQueryRequest + 117, // 99: bundle.Bundle.GetArtistBundleBalance:input_type -> bundle.ArtistBundleBalanceRequest + 108, // 100: bundle.Bundle.TerminateTaskByUUID:input_type -> bundle.TerminateTaskByUUIDRequest + 109, // 101: bundle.Bundle.GetTaskActualStatusByUUID:input_type -> bundle.GetTaskActualStatusByUUIDRequest + 106, // 102: bundle.Bundle.BatchAssignTask:input_type -> bundle.BatchAssignTaskRequest + 95, // 103: bundle.Bundle.GetArtistUploadStatsList:input_type -> bundle.TaskQueryRequest + 123, // 104: bundle.Bundle.MetricsBusiness:input_type -> bundle.MetricsBusinessReq + 125, // 105: bundle.Bundle.MetricsOperatingCreate:input_type -> bundle.MetricsOperatingCreateReq + 127, // 106: bundle.Bundle.MetricsOperatingStatus:input_type -> bundle.MetricsOperatingStatusReq + 129, // 107: bundle.Bundle.MetricsBundlePurchaseExport:input_type -> bundle.MetricsBundlePurchaseExportReq + 132, // 108: bundle.Bundle.MetricsArtistAccountExport:input_type -> bundle.MetricsArtistAccountExportReq + 135, // 109: bundle.Bundle.MetricsVideoSubmitExport:input_type -> bundle.MetricsVideoSubmitExportReq + 13, // 110: bundle.Bundle.CreateBundle:output_type -> bundle.CommonResponse + 13, // 111: bundle.Bundle.UpdateBundle:output_type -> bundle.CommonResponse + 13, // 112: bundle.Bundle.DeleteBundle:output_type -> bundle.CommonResponse + 13, // 113: bundle.Bundle.HandShelf:output_type -> bundle.CommonResponse + 17, // 114: bundle.Bundle.SaveBundle:output_type -> bundle.SaveResponse + 22, // 115: bundle.Bundle.BundleListV2:output_type -> bundle.BundleListResponse + 26, // 116: bundle.Bundle.BundleDetailV2:output_type -> bundle.BundleDetailResponseV2 + 22, // 117: bundle.Bundle.BundleListH5V2:output_type -> bundle.BundleListResponse + 15, // 118: bundle.Bundle.BundleLangDetailV2:output_type -> bundle.BundleProfileLang + 22, // 119: bundle.Bundle.BundleList:output_type -> bundle.BundleListResponse + 25, // 120: bundle.Bundle.BundleDetail:output_type -> bundle.BundleDetailResponse + 13, // 121: bundle.Bundle.CreateOrderRecord:output_type -> bundle.CommonResponse + 13, // 122: bundle.Bundle.UpdateOrderRecord:output_type -> bundle.CommonResponse + 13, // 123: bundle.Bundle.UpdateOrderRecordByOrderNo:output_type -> bundle.CommonResponse + 33, // 124: bundle.Bundle.OrderRecordsList:output_type -> bundle.OrderRecordsResponse + 35, // 125: bundle.Bundle.OrderRecordsDetail:output_type -> bundle.OrderRecordsDetailResponse + 13, // 126: bundle.Bundle.UpdateFinancialConfirmationStatus:output_type -> bundle.CommonResponse + 13, // 127: bundle.Bundle.CreateOrderAddRecord:output_type -> bundle.CommonResponse + 12, // 128: bundle.Bundle.PackagePriceAndTime:output_type -> bundle.PackagePriceAndTimeResponse + 9, // 129: bundle.Bundle.OrderRecordsListV2:output_type -> bundle.OrderRecordsResponseV2 + 5, // 130: bundle.Bundle.OrderListByOrderNo:output_type -> bundle.OrderInfoByOrderNoResp + 84, // 131: bundle.Bundle.OnlyAddValueListByOrderNo:output_type -> bundle.OnlyAddValueListByOrderNoResp + 38, // 132: bundle.Bundle.CreateValueAddBundle:output_type -> bundle.CreateValueAddBundleResponse + 40, // 133: bundle.Bundle.ValueAddBundleList:output_type -> bundle.ValueAddBundleListResponse + 42, // 134: bundle.Bundle.ValueAddBundleDetail:output_type -> bundle.ValueAddBundleDetailResponse + 17, // 135: bundle.Bundle.SaveValueAddService:output_type -> bundle.SaveResponse + 48, // 136: bundle.Bundle.ValueAddServiceList:output_type -> bundle.ValueAddServiceListResponse + 50, // 137: bundle.Bundle.ValueAddServiceDetail:output_type -> bundle.ValueAddServiceDetailResponse + 45, // 138: bundle.Bundle.ValueAddServiceLangByUuidAndLanguage:output_type -> bundle.ValueAddServiceLang + 52, // 139: bundle.Bundle.CalculatePrice:output_type -> bundle.CalculatePriceResponse + 54, // 140: bundle.Bundle.BatchGetValueAddServiceLang:output_type -> bundle.BatchGetValueAddServiceLangResponse + 13, // 141: bundle.Bundle.DeleteValueAddService:output_type -> bundle.CommonResponse + 56, // 142: bundle.Bundle.BundleExtend:output_type -> bundle.BundleExtendResponse + 58, // 143: bundle.Bundle.BundleExtendRecordsList:output_type -> bundle.BundleExtendRecordsListResponse + 66, // 144: bundle.Bundle.GetBundleBalanceList:output_type -> bundle.GetBundleBalanceListResp + 82, // 145: bundle.Bundle.GetBundleBalanceByUserId:output_type -> bundle.GetBundleBalanceByUserIdResp + 68, // 146: bundle.Bundle.CreateBundleBalance:output_type -> bundle.CreateBundleBalanceResp + 70, // 147: bundle.Bundle.AddBundleBalance:output_type -> bundle.AddBundleBalanceResp + 94, // 148: bundle.Bundle.BundleActivate:output_type -> bundle.BundleActivateResp + 65, // 149: bundle.Bundle.BundleBalanceExport:output_type -> bundle.BundleBalanceExportResp + 122, // 150: bundle.Bundle.GetBundleBalanceLayout:output_type -> bundle.GetBundleBalanceLayoutResp + 120, // 151: bundle.Bundle.SetBundleBalanceLayout:output_type -> bundle.SetBundleBalanceLayoutResp + 72, // 152: bundle.Bundle.GetUsedRecordList:output_type -> bundle.GetUsedRecordListResp + 76, // 153: bundle.Bundle.GetImageWorkDetail:output_type -> bundle.GetImageWorkDetailResp + 77, // 154: bundle.Bundle.GetVedioWorkDetail:output_type -> bundle.GetVedioeWorkDetailResp + 80, // 155: bundle.Bundle.ToBeComfirmedWorks:output_type -> bundle.ToBeComfirmedWorksResp + 88, // 156: bundle.Bundle.ConfirmWork:output_type -> bundle.ConfirmWorkResp + 2, // 157: bundle.Bundle.GetReconciliationList:output_type -> bundle.GetReconciliationListResp + 13, // 158: bundle.Bundle.CreateReconciliation:output_type -> bundle.CommonResponse + 13, // 159: bundle.Bundle.UpdateReconciliation:output_type -> bundle.CommonResponse + 13, // 160: bundle.Bundle.UpdateReconciliationStatusBySerialNumber:output_type -> bundle.CommonResponse + 90, // 161: bundle.Bundle.ListUnfinishedInfos:output_type -> bundle.UnfinishedInfos + 13, // 162: bundle.Bundle.SoftDeleteUnfinishedInfo:output_type -> bundle.CommonResponse + 96, // 163: bundle.Bundle.GetPendingTaskList:output_type -> bundle.TaskQueryResponse + 13, // 164: bundle.Bundle.AssignTask:output_type -> bundle.CommonResponse + 13, // 165: bundle.Bundle.UpdatePendingCount:output_type -> bundle.CommonResponse + 101, // 166: bundle.Bundle.GetRecentAssignRecords:output_type -> bundle.RecentAssignRecordsResponse + 103, // 167: bundle.Bundle.GetEmployeeAssignedTasks:output_type -> bundle.EmployeeTaskQueryResponse + 13, // 168: bundle.Bundle.CompleteTaskManually:output_type -> bundle.CommonResponse + 13, // 169: bundle.Bundle.UpdateTaskProgress:output_type -> bundle.CommonResponse + 114, // 170: bundle.Bundle.GetTaskAssignRecordsList:output_type -> bundle.TaskAssignRecordsQueryResponse + 118, // 171: bundle.Bundle.GetArtistBundleBalance:output_type -> bundle.ArtistBundleBalanceResponse + 113, // 172: bundle.Bundle.TerminateTaskByUUID:output_type -> bundle.ComResponse + 110, // 173: bundle.Bundle.GetTaskActualStatusByUUID:output_type -> bundle.GetTaskActualStatusByUUIDResponse + 113, // 174: bundle.Bundle.BatchAssignTask:output_type -> bundle.ComResponse + 116, // 175: bundle.Bundle.GetArtistUploadStatsList:output_type -> bundle.ArtistUploadStatsResponse + 124, // 176: bundle.Bundle.MetricsBusiness:output_type -> bundle.MetricsBusinessResp + 126, // 177: bundle.Bundle.MetricsOperatingCreate:output_type -> bundle.MetricsOperatingCreateResp + 128, // 178: bundle.Bundle.MetricsOperatingStatus:output_type -> bundle.MetricsOperatingStatusResp + 130, // 179: bundle.Bundle.MetricsBundlePurchaseExport:output_type -> bundle.MetricsBundlePurchaseExportResp + 133, // 180: bundle.Bundle.MetricsArtistAccountExport:output_type -> bundle.MetricsArtistAccountExportResp + 136, // 181: bundle.Bundle.MetricsVideoSubmitExport:output_type -> bundle.MetricsVideoSubmitExportResp + 110, // [110:182] is the sub-list for method output_type + 38, // [38:110] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_pb_bundle_proto_init() } @@ -17501,7 +18460,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompleteTaskManuallyRequest); i { + switch v := v.(*BatchAssignTaskItem); i { case 0: return &v.state case 1: @@ -17513,7 +18472,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTaskProgressRequest); i { + switch v := v.(*BatchAssignTaskRequest); i { case 0: return &v.state case 1: @@ -17525,7 +18484,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskAssignRecordsQueryRequest); i { + switch v := v.(*CompleteTaskManuallyRequest); i { case 0: return &v.state case 1: @@ -17537,7 +18496,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskAssignRecordsQueryResponse); i { + switch v := v.(*TerminateTaskByUUIDRequest); i { case 0: return &v.state case 1: @@ -17549,7 +18508,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistBundleBalanceRequest); i { + switch v := v.(*GetTaskActualStatusByUUIDRequest); i { case 0: return &v.state case 1: @@ -17561,7 +18520,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtistBundleBalanceResponse); i { + switch v := v.(*GetTaskActualStatusByUUIDResponse); i { case 0: return &v.state case 1: @@ -17573,7 +18532,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetBundleBalanceLayoutReq); i { + switch v := v.(*UpdateTaskProgressRequest); i { case 0: return &v.state case 1: @@ -17585,7 +18544,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetBundleBalanceLayoutResp); i { + switch v := v.(*TaskAssignRecordsQueryRequest); i { case 0: return &v.state case 1: @@ -17597,7 +18556,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBundleBalanceLayoutReq); i { + switch v := v.(*ComResponse); i { case 0: return &v.state case 1: @@ -17609,7 +18568,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBundleBalanceLayoutResp); i { + switch v := v.(*TaskAssignRecordsQueryResponse); i { case 0: return &v.state case 1: @@ -17621,7 +18580,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsBusinessReq); i { + switch v := v.(*ArtistUploadStatsItem); i { case 0: return &v.state case 1: @@ -17633,7 +18592,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsBusinessResp); i { + switch v := v.(*ArtistUploadStatsResponse); i { case 0: return &v.state case 1: @@ -17645,7 +18604,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsOperatingCreateReq); i { + switch v := v.(*ArtistBundleBalanceRequest); i { case 0: return &v.state case 1: @@ -17657,7 +18616,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsOperatingCreateResp); i { + switch v := v.(*ArtistBundleBalanceResponse); i { case 0: return &v.state case 1: @@ -17669,7 +18628,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsOperatingStatusReq); i { + switch v := v.(*SetBundleBalanceLayoutReq); i { case 0: return &v.state case 1: @@ -17681,7 +18640,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsOperatingStatusResp); i { + switch v := v.(*SetBundleBalanceLayoutResp); i { case 0: return &v.state case 1: @@ -17693,7 +18652,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsBundlePurchaseExportReq); i { + switch v := v.(*GetBundleBalanceLayoutReq); i { case 0: return &v.state case 1: @@ -17705,7 +18664,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsBundlePurchaseExportResp); i { + switch v := v.(*GetBundleBalanceLayoutResp); i { case 0: return &v.state case 1: @@ -17717,7 +18676,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsBundlePurchaseItem); i { + switch v := v.(*MetricsBusinessReq); i { case 0: return &v.state case 1: @@ -17729,7 +18688,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsArtistAccountExportReq); i { + switch v := v.(*MetricsBusinessResp); i { case 0: return &v.state case 1: @@ -17741,7 +18700,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsArtistAccountExportResp); i { + switch v := v.(*MetricsOperatingCreateReq); i { case 0: return &v.state case 1: @@ -17753,7 +18712,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsArtistAccountExportItem); i { + switch v := v.(*MetricsOperatingCreateResp); i { case 0: return &v.state case 1: @@ -17765,7 +18724,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsVideoSubmitExportReq); i { + switch v := v.(*MetricsOperatingStatusReq); i { case 0: return &v.state case 1: @@ -17777,7 +18736,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsVideoSubmitExportResp); i { + switch v := v.(*MetricsOperatingStatusResp); i { case 0: return &v.state case 1: @@ -17789,7 +18748,7 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsVideoSubmitExportItem); i { + switch v := v.(*MetricsBundlePurchaseExportReq); i { case 0: return &v.state case 1: @@ -17801,6 +18760,102 @@ func file_pb_bundle_proto_init() { } } file_pb_bundle_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsBundlePurchaseExportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsBundlePurchaseItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsArtistAccountExportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsArtistAccountExportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsArtistAccountExportItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsVideoSubmitExportReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsVideoSubmitExportResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsVideoSubmitExportItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_bundle_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetricsBalanceDetailExportReq); i { case 0: return &v.state @@ -17819,7 +18874,7 @@ func file_pb_bundle_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_bundle_proto_rawDesc, NumEnums: 0, - NumMessages: 131, + NumMessages: 139, NumExtensions: 0, NumServices: 1, }, diff --git a/api/bundle/bundle.validator.pb.go b/api/bundle/bundle.validator.pb.go index 2bbb41c..f6b74ec 100644 --- a/api/bundle/bundle.validator.pb.go +++ b/api/bundle/bundle.validator.pb.go @@ -552,15 +552,40 @@ func (this *EmployeeTaskQueryResponse) Validate() error { func (this *TaskAssignRecordInfo) Validate() error { return nil } +func (this *BatchAssignTaskItem) Validate() error { + return nil +} +func (this *BatchAssignTaskRequest) Validate() error { + for _, item := range this.Items { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Items", err) + } + } + } + return nil +} func (this *CompleteTaskManuallyRequest) Validate() error { return nil } +func (this *TerminateTaskByUUIDRequest) Validate() error { + return nil +} +func (this *GetTaskActualStatusByUUIDRequest) Validate() error { + return nil +} +func (this *GetTaskActualStatusByUUIDResponse) Validate() error { + return nil +} func (this *UpdateTaskProgressRequest) Validate() error { return nil } func (this *TaskAssignRecordsQueryRequest) Validate() error { return nil } +func (this *ComResponse) Validate() error { + return nil +} func (this *TaskAssignRecordsQueryResponse) Validate() error { for _, item := range this.Records { if item != nil { @@ -571,6 +596,19 @@ func (this *TaskAssignRecordsQueryResponse) Validate() error { } return nil } +func (this *ArtistUploadStatsItem) Validate() error { + return nil +} +func (this *ArtistUploadStatsResponse) Validate() error { + for _, item := range this.Items { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Items", err) + } + } + } + return nil +} func (this *ArtistBundleBalanceRequest) Validate() error { return nil } diff --git a/api/bundle/bundle_triple.pb.go b/api/bundle/bundle_triple.pb.go index 6d75d1f..19f610f 100644 --- a/api/bundle/bundle_triple.pb.go +++ b/api/bundle/bundle_triple.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: // - protoc-gen-go-triple v1.0.8 -// - protoc v3.12.4 +// - protoc v3.21.1 // source: pb/bundle.proto package bundle @@ -97,6 +97,10 @@ type BundleClient interface { UpdateTaskProgress(ctx context.Context, in *UpdateTaskProgressRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) GetTaskAssignRecordsList(ctx context.Context, in *TaskAssignRecordsQueryRequest, opts ...grpc_go.CallOption) (*TaskAssignRecordsQueryResponse, common.ErrorWithAttachment) GetArtistBundleBalance(ctx context.Context, in *ArtistBundleBalanceRequest, opts ...grpc_go.CallOption) (*ArtistBundleBalanceResponse, common.ErrorWithAttachment) + TerminateTaskByUUID(ctx context.Context, in *TerminateTaskByUUIDRequest, opts ...grpc_go.CallOption) (*ComResponse, common.ErrorWithAttachment) + GetTaskActualStatusByUUID(ctx context.Context, in *GetTaskActualStatusByUUIDRequest, opts ...grpc_go.CallOption) (*GetTaskActualStatusByUUIDResponse, common.ErrorWithAttachment) + BatchAssignTask(ctx context.Context, in *BatchAssignTaskRequest, opts ...grpc_go.CallOption) (*ComResponse, common.ErrorWithAttachment) + GetArtistUploadStatsList(ctx context.Context, in *TaskQueryRequest, opts ...grpc_go.CallOption) (*ArtistUploadStatsResponse, common.ErrorWithAttachment) MetricsBusiness(ctx context.Context, in *MetricsBusinessReq, opts ...grpc_go.CallOption) (*MetricsBusinessResp, common.ErrorWithAttachment) MetricsOperatingCreate(ctx context.Context, in *MetricsOperatingCreateReq, opts ...grpc_go.CallOption) (*MetricsOperatingCreateResp, common.ErrorWithAttachment) MetricsOperatingStatus(ctx context.Context, in *MetricsOperatingStatusReq, opts ...grpc_go.CallOption) (*MetricsOperatingStatusResp, common.ErrorWithAttachment) @@ -172,6 +176,10 @@ type BundleClientImpl struct { UpdateTaskProgress func(ctx context.Context, in *UpdateTaskProgressRequest) (*CommonResponse, error) GetTaskAssignRecordsList func(ctx context.Context, in *TaskAssignRecordsQueryRequest) (*TaskAssignRecordsQueryResponse, error) GetArtistBundleBalance func(ctx context.Context, in *ArtistBundleBalanceRequest) (*ArtistBundleBalanceResponse, error) + TerminateTaskByUUID func(ctx context.Context, in *TerminateTaskByUUIDRequest) (*ComResponse, error) + GetTaskActualStatusByUUID func(ctx context.Context, in *GetTaskActualStatusByUUIDRequest) (*GetTaskActualStatusByUUIDResponse, error) + BatchAssignTask func(ctx context.Context, in *BatchAssignTaskRequest) (*ComResponse, error) + GetArtistUploadStatsList func(ctx context.Context, in *TaskQueryRequest) (*ArtistUploadStatsResponse, error) MetricsBusiness func(ctx context.Context, in *MetricsBusinessReq) (*MetricsBusinessResp, error) MetricsOperatingCreate func(ctx context.Context, in *MetricsOperatingCreateReq) (*MetricsOperatingCreateResp, error) MetricsOperatingStatus func(ctx context.Context, in *MetricsOperatingStatusReq) (*MetricsOperatingStatusResp, error) @@ -564,6 +572,30 @@ func (c *bundleClient) GetArtistBundleBalance(ctx context.Context, in *ArtistBun return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistBundleBalance", in, out) } +func (c *bundleClient) TerminateTaskByUUID(ctx context.Context, in *TerminateTaskByUUIDRequest, opts ...grpc_go.CallOption) (*ComResponse, common.ErrorWithAttachment) { + out := new(ComResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/TerminateTaskByUUID", in, out) +} + +func (c *bundleClient) GetTaskActualStatusByUUID(ctx context.Context, in *GetTaskActualStatusByUUIDRequest, opts ...grpc_go.CallOption) (*GetTaskActualStatusByUUIDResponse, common.ErrorWithAttachment) { + out := new(GetTaskActualStatusByUUIDResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetTaskActualStatusByUUID", in, out) +} + +func (c *bundleClient) BatchAssignTask(ctx context.Context, in *BatchAssignTaskRequest, opts ...grpc_go.CallOption) (*ComResponse, common.ErrorWithAttachment) { + out := new(ComResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BatchAssignTask", in, out) +} + +func (c *bundleClient) GetArtistUploadStatsList(ctx context.Context, in *TaskQueryRequest, opts ...grpc_go.CallOption) (*ArtistUploadStatsResponse, common.ErrorWithAttachment) { + out := new(ArtistUploadStatsResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistUploadStatsList", in, out) +} + func (c *bundleClient) MetricsBusiness(ctx context.Context, in *MetricsBusinessReq, opts ...grpc_go.CallOption) (*MetricsBusinessResp, common.ErrorWithAttachment) { out := new(MetricsBusinessResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -673,6 +705,10 @@ type BundleServer interface { UpdateTaskProgress(context.Context, *UpdateTaskProgressRequest) (*CommonResponse, error) GetTaskAssignRecordsList(context.Context, *TaskAssignRecordsQueryRequest) (*TaskAssignRecordsQueryResponse, error) GetArtistBundleBalance(context.Context, *ArtistBundleBalanceRequest) (*ArtistBundleBalanceResponse, error) + TerminateTaskByUUID(context.Context, *TerminateTaskByUUIDRequest) (*ComResponse, error) + GetTaskActualStatusByUUID(context.Context, *GetTaskActualStatusByUUIDRequest) (*GetTaskActualStatusByUUIDResponse, error) + BatchAssignTask(context.Context, *BatchAssignTaskRequest) (*ComResponse, error) + GetArtistUploadStatsList(context.Context, *TaskQueryRequest) (*ArtistUploadStatsResponse, error) MetricsBusiness(context.Context, *MetricsBusinessReq) (*MetricsBusinessResp, error) MetricsOperatingCreate(context.Context, *MetricsOperatingCreateReq) (*MetricsOperatingCreateResp, error) MetricsOperatingStatus(context.Context, *MetricsOperatingStatusReq) (*MetricsOperatingStatusResp, error) @@ -873,6 +909,18 @@ func (UnimplementedBundleServer) GetTaskAssignRecordsList(context.Context, *Task func (UnimplementedBundleServer) GetArtistBundleBalance(context.Context, *ArtistBundleBalanceRequest) (*ArtistBundleBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetArtistBundleBalance not implemented") } +func (UnimplementedBundleServer) TerminateTaskByUUID(context.Context, *TerminateTaskByUUIDRequest) (*ComResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TerminateTaskByUUID not implemented") +} +func (UnimplementedBundleServer) GetTaskActualStatusByUUID(context.Context, *GetTaskActualStatusByUUIDRequest) (*GetTaskActualStatusByUUIDResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTaskActualStatusByUUID not implemented") +} +func (UnimplementedBundleServer) BatchAssignTask(context.Context, *BatchAssignTaskRequest) (*ComResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchAssignTask not implemented") +} +func (UnimplementedBundleServer) GetArtistUploadStatsList(context.Context, *TaskQueryRequest) (*ArtistUploadStatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistUploadStatsList not implemented") +} func (UnimplementedBundleServer) MetricsBusiness(context.Context, *MetricsBusinessReq) (*MetricsBusinessResp, error) { return nil, status.Errorf(codes.Unimplemented, "method MetricsBusiness not implemented") } @@ -2717,6 +2765,122 @@ func _Bundle_GetArtistBundleBalance_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _Bundle_TerminateTaskByUUID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(TerminateTaskByUUIDRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("TerminateTaskByUUID", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Bundle_GetTaskActualStatusByUUID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTaskActualStatusByUUIDRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetTaskActualStatusByUUID", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Bundle_BatchAssignTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchAssignTaskRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("BatchAssignTask", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Bundle_GetArtistUploadStatsList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(TaskQueryRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtistUploadStatsList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _Bundle_MetricsBusiness_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(MetricsBusinessReq) if err := dec(in); err != nil { @@ -3146,6 +3310,22 @@ var Bundle_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "GetArtistBundleBalance", Handler: _Bundle_GetArtistBundleBalance_Handler, }, + { + MethodName: "TerminateTaskByUUID", + Handler: _Bundle_TerminateTaskByUUID_Handler, + }, + { + MethodName: "GetTaskActualStatusByUUID", + Handler: _Bundle_GetTaskActualStatusByUUID_Handler, + }, + { + MethodName: "BatchAssignTask", + Handler: _Bundle_BatchAssignTask_Handler, + }, + { + MethodName: "GetArtistUploadStatsList", + Handler: _Bundle_GetArtistUploadStatsList_Handler, + }, { MethodName: "MetricsBusiness", Handler: _Bundle_MetricsBusiness_Handler, diff --git a/pkg/router/taskBench.go b/pkg/router/taskBench.go index 87c3795..7afa919 100644 --- a/pkg/router/taskBench.go +++ b/pkg/router/taskBench.go @@ -22,6 +22,12 @@ func TaskBenchRouter(r *gin.RouterGroup) { // 指派某位员工完成某个艺人的任务 taskBenchRoute.POST("assign-task", taskbench.AssignTask) + // 批量指派任务(仅写入指派记录,不更新任务管理表) + taskBenchRoute.POST("batch-assign-task", taskbench.BatchAssignTask) + + // 中止指派任务(根据任务指派记录UUID) + taskBenchRoute.POST("terminate-task-by-uuid", taskbench.TerminateTaskByUUID) + // 修改待发数量 taskBenchRoute.POST("update-pending-count", taskbench.UpdatePendingCount) @@ -31,6 +37,9 @@ func TaskBenchRouter(r *gin.RouterGroup) { // 多条件查询操作记录表 taskBenchRoute.POST("task-assign-records-list", taskbench.GetTaskAssignRecordsList) + // 多条件查询操作记录表导出Excel + taskBenchRoute.POST("task-assign-records-list-download", taskbench.GetTaskAssignRecordsListDownload) + // 员工完成图片作品任务(带任务UUID) taskBenchRoute.POST("update-work-image-with-task-uuid", taskbench.UpdateWorkImageWithTaskUUID) @@ -45,6 +54,12 @@ func TaskBenchRouter(r *gin.RouterGroup) { // 查询艺人套餐剩余数量 taskBenchRoute.POST("artist-bundle-balance", taskbench.GetArtistBundleBalance) + + // 查询艺人待上传列表 + taskBenchRoute.POST("pending-upload-list", taskbench.GetArtistUploadStatsList) + + // 查询艺人待上传列表并导出Excel + taskBenchRoute.POST("pending-upload-list-download", taskbench.GetArtistUploadStatsListDownload) } // 员工任务相关路由(需要App登录验证) diff --git a/pkg/service/taskbench/taskBench.go b/pkg/service/taskbench/taskBench.go index ca82869..2ff6dfc 100644 --- a/pkg/service/taskbench/taskBench.go +++ b/pkg/service/taskbench/taskBench.go @@ -2,6 +2,7 @@ package taskbench import ( "context" + "errors" "fmt" "fonchain-fiee/api/accountFiee" "fonchain-fiee/api/bundle" @@ -11,9 +12,11 @@ import ( "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" castService "fonchain-fiee/pkg/service/cast" + "fonchain-fiee/pkg/utils" "strconv" "github.com/gin-gonic/gin" + "github.com/gin-gonic/gin/binding" "go.uber.org/zap" ) @@ -54,6 +57,52 @@ func AssignTask(c *gin.Context) { service.Success(c, res) } +// BatchAssignTask 批量指派任务(仅写入指派记录,不更新任务管理表) +func BatchAssignTask(c *gin.Context) { + var req bundle.BatchAssignTaskRequest + if err := c.ShouldBindJSON(&req); err != nil { + service.Error(c, err) + return + } + + // 从登录信息中补充操作者信息到每个批量项 + // userInfo := login.GetUserInfoFromC(c) + for _, item := range req.Items { + if item == nil { + continue + } + + // item.Operator = userInfo.Name + // item.OperatorNum = userInfo.TelNum + + } + + res, err := service.BundleProvider.BatchAssignTask(context.Background(), &req) + if err != nil { + service.Error(c, err) + return + } + + service.Success(c, res) +} + +// TerminateTaskByUUID 中止指派任务 +func TerminateTaskByUUID(c *gin.Context) { + var req bundle.TerminateTaskByUUIDRequest + if err := c.ShouldBindJSON(&req); err != nil { + service.Error(c, err) + return + } + + res, err := service.BundleProvider.TerminateTaskByUUID(context.Background(), &req) + if err != nil { + service.Error(c, err) + return + } + + service.Success(c, res) +} + // UpdatePendingCount 修改待发数量 func UpdatePendingCount(c *gin.Context) { var req bundle.UpdatePendingCountRequest @@ -157,12 +206,6 @@ func GetTaskAssignRecordsList(c *gin.Context) { return } - // 添加空指针检查 - if service.BundleProvider == nil { - service.Error(c, fmt.Errorf("BundleProvider is not initialized")) - return - } - res, err := service.BundleProvider.GetTaskAssignRecordsList(context.Background(), &req) if err != nil { service.Error(c, err) @@ -172,6 +215,71 @@ func GetTaskAssignRecordsList(c *gin.Context) { service.Success(c, res) } +// GetTaskAssignRecordsListDownload 多条件查询操作记录表并导出Excel +func GetTaskAssignRecordsListDownload(c *gin.Context) { + var req bundle.TaskAssignRecordsQueryRequest + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + req.Page = 1 + req.PageSize = 999999999 + + detail, detailErr := service.BundleProvider.GetTaskAssignRecordsList(context.Background(), &req) + if detailErr != nil { + service.Error(c, detailErr) + return + } + + titleList := []string{ + "用户编号", "艺人", "艺人手机号", "任务批次", "状态", "实际完成状态", "待上传视频脚本数", "待上传视频数", "待发图文数", "待发数据数", "指派人", "操作人账号", "操作人", "操作时间", + } + + var dataList []interface{} + for _, i := range detail.Records { + actualStatusText := getActualStatusText(i.ActualStatus) + statusText := getActualStatusText(i.Status) + data := []any{ + i.SubNum, + i.ArtistName, + i.TelNum, + i.TaskBatch, + statusText, + actualStatusText, + i.PendingVideoScriptCount, + i.PendingVideoCount, + i.PendingPostCount, + i.PendingDataCount, + i.TaskAssignee, + i.OperatorNum, + i.Operator, + i.OperatorTime, + } + dataList = append(dataList, &data) + } + + content, err := utils.ToExcelByType(titleList, dataList, "slice", "") + if err != nil { + service.Error(c, err) + return + } + utils.ResponseXls(c, content, "任务指派记录") + return +} + +func getActualStatusText(s int32) string { + switch s { + case 1: + return "未完成" + case 2: + return "已完成" + case 3: + return "已终止" + default: + return "未知" + } +} + type UpdateWorkVideoWithUUIDReq struct { *cast.UpdateWorkVideoReq AssignRecordsUUID string `json:"assignRecordsUUID"` @@ -190,6 +298,18 @@ func UpdateWorkImageWithTaskUUID(ctx *gin.Context) { service.Error(ctx, err) return } + // 先查询该任务是不是已中止状态 + res, err := service.BundleProvider.GetTaskActualStatusByUUID(context.Background(), &bundle.GetTaskActualStatusByUUIDRequest{ + AssignRecordsUUID: req.AssignRecordsUUID, + }) + if err != nil { + service.Error(ctx, err) + return + } + if res.ActualStatus == 3 { + service.Error(ctx, errors.New("任务已中止,不能上传图文")) + return + } if config.AppConfig.System.AppMode != "dev" { artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ @@ -249,6 +369,18 @@ func UpdateWorkVideoWithUUID(ctx *gin.Context) { service.Error(ctx, err) return } + // 先查询该任务是不是已中止状态 + res, err := service.BundleProvider.GetTaskActualStatusByUUID(context.Background(), &bundle.GetTaskActualStatusByUUIDRequest{ + AssignRecordsUUID: req.AssignRecordsUUID, + }) + if err != nil { + service.Error(ctx, err) + return + } + if res.ActualStatus == 3 { + service.Error(ctx, errors.New("任务已中止,不能上传视频")) + return + } if config.AppConfig.System.AppMode != "dev" { artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64) infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ @@ -316,3 +448,78 @@ func GetArtistBundleBalance(c *gin.Context) { service.Success(c, res) } + +// GetArtistUploadStatsList 查询艺人待上传列表 +func GetArtistUploadStatsList(c *gin.Context) { + var req bundle.TaskQueryRequest + if err := c.ShouldBindJSON(&req); err != nil { + service.Error(c, err) + return + } + + res, err := service.BundleProvider.GetArtistUploadStatsList(context.Background(), &req) + if err != nil { + service.Error(c, err) + return + } + + service.Success(c, res) +} + +// GetArtistUploadStatsListDownload 导出艺人待上传列表为Excel +func GetArtistUploadStatsListDownload(c *gin.Context) { + var req bundle.TaskQueryRequest + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + // 拉取所有数据 + req.Page = 1 + req.PageSize = 999999999 + + detail, detailErr := service.BundleProvider.GetArtistUploadStatsList(context.Background(), &req) + if detailErr != nil { + service.Error(c, detailErr) + return + } + + titleList := []string{ + "用户编号", "艺人", "手机号", "最近一次指派人", "待上传视频脚本数", "已上传视频脚本数", "待上传视频数", "已上传视频数", "已释放视频额度", "套餐视频总数", "增值视频总数", "待上传图文数", "已上传图文数", "已释放图文额度", "套餐图文总数", "增值图文总数", "待上传数据数", "已上传数据数", "已释放数据额度", "套餐数据总数", "增值数据总数", + } + + var dataList []interface{} + for _, i := range detail.Items { + data := []any{ + i.SubNum, + i.ArtistName, + i.TelNum, + i.LastTaskAssignee, + i.PendingVideoScriptCount, + i.UploadedVideoScriptCount, + i.PendingVideoCount, + i.UploadedVideoCount, + i.ReleasedVideoTotal, + i.BundleVideoTotal, + i.IncreaseVideoTotal, + i.PendingPostCount, + i.UploadedPostCount, + i.ReleasedPostTotal, + i.BundlePostTotal, + i.IncreasePostTotal, + i.PendingDataAnalysisCount, + i.UploadedDataAnalysisCount, + i.ReleasedDataAnalysisTotal, + i.BundleDataAnalysisTotal, + i.IncreaseDataAnalysisTotal, + } + dataList = append(dataList, &data) + } + + content, err := utils.ToExcelByType(titleList, dataList, "slice", "") + if err != nil { + service.Error(c, err) + return + } + utils.ResponseXls(c, content, "艺人待上传列表") + return +}